dockerfile - 在 Docker 中找不到 apt-get
问题描述
我有这个 Dockerfile:
FROM python:3.6-alpine
FROM ubuntu
FROM alpine
RUN apk update && \
apk add --virtual build-deps gcc python-dev musl-dev
RUN apt-get update && apt-get install -y python-pip
WORKDIR /app
ADD . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "main.py"]
它抛出错误说/bin/sh: apt-get: not found
。我认为apt-get
包是我在第二行拉的 Ubuntu 图像的一部分,但它给了我这个错误。
我怎样才能解决这个问题 ?
解决方案
正如 tkausl 所说:您只能使用一个基本映像(一个 FROM)。
alpine 的包管理器apk
不是apt-get
. 您必须使用 apk 来安装软件包。但是,pip 已经可用。
Dockerfile 应该可以工作:
FROM python:3.6-alpine
RUN apk update && \
apk add --virtual build-deps gcc python-dev musl-dev
WORKDIR /app
ADD . /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "main.py"]
推荐阅读
- r - 序列覆盖——要解决的难题
- r - R 将数据缩放回其原始值
- python - exec() 不适用于 unicode 字符
- r - 如何解决交叉验证glm中的错误“因素有新水平”?
- amazon-web-services - 如何在 Amazon Lightsail 中获取 NetworkIn 和 NetworkOut 指标?
- php - 向客户收费时,我是否总是需要提供金额?
- testing - 回归测试如何最适合 CI/CD 工作流程?
- node.js - 如何使用来自 mongodb 的时间戳在特定时间触发函数?
- node.js - 膨胀 http 流返回错误:长度或距离符号过多
- neo4j - Neo4J 每个唯一目标节点获得 N 个最新关系?