首页 > 解决方案 > Docker 来自图像 python:3.6 apk-get not fount

问题描述

在我的 docker roject 中,我需要 python:3.6 图像(我不需要 alpinr 版本)。我的码头文件:

FROM python:3.6
EXPOSE 8000
RUN apk-get add --no-cache make linux-headers libffi-dev jpeg-dev zlib-dev
RUN apk-get update && apk-get add postgresql-dev gcc python3-dev musl-dev
...

但是当我建立我的形象时,我得到:

步骤 3/12:运行 apk-get add --no-cache make linux-headers libffi-dev jpeg-dev zlib-dev ---> 运行在 13913a86fd5e /bin/sh: 1: apk-get: 未找到

我也尝试使用 apk 而不是 apk-get 但结果没有改变

有人可以问我如何在这个 python 发行版上安装包?

非常感谢提前

标签: pythondockerapk

解决方案


apk是 alpine 上的包管理器。debian 包管理器名为ap t -get

在 docker 文件中使用 apt-get 时,第一个调用应该是apt-get update,因为 docker 映像没有任何本地缓存的包库。

debian 和 alpine 之间的包名称也不相同。总之,您的代码应该类似于

FROM python:3.6-buster
RUN apt-get update \
    apt-get install -y \
        make linux-headers-amd64 libffi-dev libjpeg-dev libz-dev \
        postgresql-server-dev-11 gcc python3-dev musl-dev \
    && rm -rf /var/lib/apt/lists/*

推荐阅读