标签: alpine-linux

"无法找到jpeg的头文件或库文件"在Alpine Linux上安装Pillow

我正在尝试在基于python:alpine的Docker容器中运行Python的Scrapy .它以前工作过,但现在我想使用Scrapy的Image Pipeline,它需要我安装Pillow.

作为简化示例,我尝试了以下方法Dockerfile:

FROM python:alpine
RUN apk --update add libxml2-dev libxslt-dev libffi-dev gcc musl-dev libgcc openssl-dev curl
RUN apk add libjpeg zlib tiff freetype lcms libwebp tcl openjpeg
RUN pip install Pillow
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试构建它时,我得到一个错误,其中包含以下内容:

Traceback (most recent call last):
  File "/tmp/pip-build-ft5yzzuv/Pillow/setup.py", line 744, in <module>
    zip_safe=not debug_build(), )
  File "/usr/local/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/local/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in …
Run Code Online (Sandbox Code Playgroud)

python docker pillow dockerfile alpine-linux

28
推荐指数
7
解决办法
3万
查看次数

GCC在Alpine Linux中找不到stdio.h

在一个新的Alpine Linux中我安装了GCC

apk add --update-cache gcc
Run Code Online (Sandbox Code Playgroud)

但仍然是一个简单的程序

#include <stdio.h>

int main(int argc, char *argv[]) {
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

用消息编译

fatal error: stdio.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

gcc alpine-linux

26
推荐指数
1
解决办法
1万
查看次数

在Alpine docker中安装软件包

如何编写Dockerfile命令以在alpine docker镜像中安装以下命令:

  1. 软件 - 属性 - 通用
  2. 的openjdk -8- JDK
  3. python3
  4. NLTK
  5. 烧瓶

linux dependencies docker dockerfile alpine-linux

26
推荐指数
1
解决办法
2万
查看次数

如何让/ etc/profile在Alpine/Docker中自动运行

如何/etc/profile以交互方式启动Alpine Docker容器时自动运行?我已经在aliases.sh文件中添加了一些别名并将其放入/etc/profile.d,但是当我使用启动容器时docker run -it [my_container] sh,我的别名不活动.我. /etc/profile每次都必须从命令行手动输入.

是否需要一些其他配置/etc/profile才能在登录时运行?我在使用~/.profile文件时也遇到了问题.任何见解都表示赞赏!

编辑:

根据VonC的回答,我拉动并运行了他的示例ruby容器.这是我得到的:

$ docker run --rm --name ruby -it codeclimate/alpine-ruby:b42
/ # more /etc/profile.d/rubygems.sh
export PATH=$PATH:/usr/lib/ruby/gems/2.0.0/bin
/ # env
no_proxy=*.local, 169.254/16
HOSTNAME=6c7e93ebc5a1
SHLVL=1
HOME=/root
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
/ # exit
Run Code Online (Sandbox Code Playgroud)

虽然该/etc/profile.d/rubygems.sh文件存在,但是当我登录并且我的PATH环境变量没有被更新时它没有被运行.我使用了错误的docker run命令吗?还缺少什么?有没有人得到~/.profile/etc/profile.d/文件与Docker上的Alpine一起工作?谢谢!

sh ash docker alpine-linux

25
推荐指数
4
解决办法
2万
查看次数

在Docker Alpine上安装numpy

我正在尝试在基于Alpine 3.1的docker容器中安装numpy.我正在使用以下Dockerfile:

FROM alpine:3.1
RUN apk add --update make cmake gcc g++ gfortran
RUN apk add --update python py-pip python-dev
RUN pip install cython
RUN pip install numpy
Run Code Online (Sandbox Code Playgroud)

这运行正常,直到pip install numpy我收到以下错误:

error: Command "gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -Inumpy/core/include -Ibuild/src.linux-x86_64-2.7/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/include/python2.7 -Ibuild/src.linux-x86_64-2.7/numpy/core/src/private -Ibuild/src.linux-x86_64-2.7/numpy/core/src/private -Ibuild/src.linux-x86_64-2.7/numpy/core/src/private -c build/src.linux-x86_64-2.7/numpy/core/src/npymath/ieee754.c -o build/temp.linux-x86_64-2.7/build/src.linux-x86_64-2.7/numpy/core/src/npymath/ieee754.o" failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

easy_install-2.7 numpy 给出了同样的错误.

我缺少任何配置/安装步骤吗?

python numpy pip docker alpine-linux

24
推荐指数
5
解决办法
3万
查看次数

tar EPERM:不允许操作,futime

我有一个node:alpineDocker 镜像。当我以 root 用户身份运行图像时,我没有问题,但是当我使用另一个用户并尝试这样做时,npm install我从包提取中收到了很多错误:

npm WARN tar EPERM: operation not permitted, futime
Run Code Online (Sandbox Code Playgroud)

在收到 5000 条警告消息后,我在 npm 安装日志中看到了这一点:

npm timing action:extract Completed in 276816ms
npm timing action:finalize Completed in 172ms
Run Code Online (Sandbox Code Playgroud)

没有更多,npm 安装过程完全挂起。

任何人都知道这个错误并知道如何避免它?

node.js docker alpine-linux

24
推荐指数
3
解决办法
1万
查看次数

高山包py-pip缺失

我试图使用Docker compose文件在我的alpine中安装python pip但是得到以下错误.

ERROR: unsatisfiable constraints:
  py-pip (missing):
    required by: world[py-pip]
ERROR: Service 'web' failed to build: The command '/bin/sh -c apk add py-pip' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)

docker dockerfile alpine-linux

22
推荐指数
6
解决办法
2万
查看次数

在docker Alpine中安装pandas

我有一个真的很难试图安装在一个稳定的数据包的科学配置docker.使用这种主流的相关工具应该会更容易.

以下是曾经工作的Dockerfile,有点破解,从包核心中删除并单独安装,指定,因为据称,更高版本与之冲突.pandaspandas<0.21.0numpy

    FROM alpine:3.6

    ENV PACKAGES="\
    dumb-init \
    musl \
    libc6-compat \
    linux-headers \
    build-base \
    bash \
    git \
    ca-certificates \
    freetype \
    libgfortran \
    libgcc \
    libstdc++ \
    openblas \
    tcl \
    tk \
    libssl1.0 \
    "

ENV PYTHON_PACKAGES="\
    numpy \
    matplotlib \
    scipy \
    scikit-learn \
    nltk \
    " 

RUN apk add --no-cache --virtual build-dependencies python3 \
    && apk add --virtual build-runtime \
    build-base python3-dev openblas-dev …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas docker alpine-linux

22
推荐指数
2
解决办法
6087
查看次数

如何修复:在当前平台上递归地查看功能不可用,该平台用于运行 Node.js

我正在尝试在 docker 容器中运行 typescript express.js。运行docker后,我收到以下错误:

> ts-node-dev src/app.ts

Using ts-node version 8.10.1, typescript version 3.9.2
TypeError [ERR_FEATURE_UNAVAILABLE_ON_PLATFORM]: The feature watch recursively is unavailable on the current platform, which is being used to run Node.js
    at Object.watch (fs.js:1441:11)
    at add (/app/node_modules/filewatcher/index.js:74:34)
    at /app/node_modules/filewatcher/index.js:93:5
    at FSReqCallback.oncomplete (fs.js:176:5)
Run Code Online (Sandbox Code Playgroud)

我的 Dockerfile:

FROM node:alpine

WORKDIR /app
COPY package.json .
RUN npm install
COPY . .

CMD ["npm","start"]
Run Code Online (Sandbox Code Playgroud)

和 package.json 文件:

{
  "name": "app-name",
  "version": "1.0.0",
  "description": "Init master",
  "main": "src/app.ts",
  "scripts": {
    "build": "./node_modules/.bin/tsc",
    "start": …
Run Code Online (Sandbox Code Playgroud)

node.js typescript docker dockerfile alpine-linux

22
推荐指数
2
解决办法
6902
查看次数

Docker Alpine 构建在 mysqlclient 安装上失败,并出现错误:异常:找不到有效的 pkg-config 名称

我在使用基于 Python 的 Dockerfile 构建 Docker 映像时遇到问题。我正在尝试使用 mysqlclient 库(版本 2.2.0)和 Django(版本 4.2.2)。这是我的 Dockerfile:

FROM python:3.11-alpine
WORKDIR /usr/src/app
COPY requirements.txt .
RUN apk add --no-cache gcc musl-dev mariadb-connector-c-dev && \
    pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
Run Code Online (Sandbox Code Playgroud)

当 Docker 构建过程到达安装 mysqlclient 包时就会出现问题。我收到以下错误:异常:找不到有效的 pkg-config 名称 为了解决此问题,我尝试将 pkgconfig 添加到 apk add 命令,不幸的是,这没有帮助,并且仍然存在相同的错误。

如果您能提供有关如何解决此问题的指导,我将不胜感激。

先感谢您。

python docker mysql-connector-python alpine-linux

22
推荐指数
5
解决办法
3万
查看次数