python - 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 发行版上安装包?
非常感谢提前
解决方案
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/*
推荐阅读
- javascript - 访问 mp3 元数据
- python - 如何检查数组中是否可以求和?
- javascript - 不是来自数组的随机数
- error-handling - 观星者 lme4 不兼容
- firebase - 使用 react-native for mobile app 将 textipnput 数据保存到 firebase
- java - 如何在java中使用aspose pdf在表格单元格中设置文本样式垂直
- php - 计算数据库中正确答案的数量
- c++ - 为什么 std::size() 在 gcc 8.2.0 中不是 std 的成员
- javascript - React hooks useState 不使用 onChange 更新
- javascript - JavaScript 中的排列