Docker 中未找到 apt-get

Bil*_*win 5 dockerfile

我有这个 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"]
Run Code Online (Sandbox Code Playgroud)

它抛出错误说/bin/sh: apt-get: not found. 我以为apt-getpackage 是我在第二行拉出的 Ubuntu 映像的一部分,但它却给了我这个错误。

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

小智 11

正如 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"]
Run Code Online (Sandbox Code Playgroud)


小智 5

apt-get不起作用,因为活动的 Linux 发行版是alpine,并且它没有该apt-get命令。

您可以使用apk命令修复它。 在此输入图像描述