基于alpine的docker image中RobotFrameworkShLibrary的安装

2024-09-19 07:03:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用基于alpine的robotframework sshlibrary构建docker映像,我收到一条神秘的错误消息:

config.status: executing libtool commands
make: /bin/sh: Operation not permitted
make: ** [Makefile:514: all-recurcive] Error 127
...
----------------------------------------------
ERROR: Failed building wheel for pynacl
ERROR: Could not build wheels for pynacl which use PEP 517 and cannot be installed directly

安装PyNaCl时出错,PyNaCl是sshlibrary的依赖项。 此库使用一些本机依赖项,并在构建这些依赖项时出错

我使用以下Dockerfile:

FROM alpine

RUN set -eux; \
    apk add --no-cache --virtual .robot-builddeps \
    gcc \
    python3-dev \
    libc-dev \
    openssl-dev \
    make \
    libffi-dev; \
    pip3 install robotframework-sshlibrary

然后我跑:

docker build ./

但是,当我从命令行手动安装时,所有这些都可以完美地工作

docker run -it --rm alpine sh
/ # apk add --no-cache --virtual .robot-builddeps \
    gcc \
    python3-dev \
    libc-dev \
    openssl-dev \
    make \
    libffi-dev; \
    pip3 install robotframework-sshlibrary

不确定问题来自docker或pynacl大楼。错误似乎与访问权限有关,但容器内的“我的命令”是使用默认用户root运行的。我已经在我的Dockerfile中添加了一些ls-la和id来检查访问权限,看起来一切都很好

我的主机系统是debian 10.7,Linux 4.19.0-8-amd64,docker是20.10.2


Tags: dockerdevdockerfilebuildformakesh错误