首页 > 解决方案 > 在 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 图像的一部分,但它给了我这个错误。

我怎样才能解决这个问题 ?

标签: dockerfile

解决方案


正如 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"]

推荐阅读