Dockerfile: /bin/sh: 1: apt-get: 未找到

Dockerfile: /bin/sh: 1: apt-get: not found

构建 Docker 文件时,出现错误

"/bin/sh: 1: apt-get: not found"

docker 文件:

FROM python:3.8
FROM ubuntu:20.04
ENV PATH="/env/bin/activate"
RUN apt-get update -y && apt-get upgrade -y

WORKDIR /var/www/html/
COPY . .
RUN pip install -r requirements.txt
EXPOSE 8000

CMD ["python", "manage.py"]
  1. 您正在将 PATH 设置为 /env/bin/activate,然后这是唯一搜索 apt-get 的地方。无需在容器内激活虚拟环境,只需删除该行即可。 pip 可以毫无问题地将 requirements.txt 中的软件包安装到“系统”Python。

  2. 您不能像您尝试的那样使用多个 FROM 语句对第 2 层图像进行处理。只需使用 FROM python:3.8 并删除 ubuntu。多个 FROM 语句用于多阶段构建,其中您有中间图像,这些图像会产生复制到最终图像的工件。

那就这样吧:

FROM python:3.8
RUN apt-get update -y && apt-get upgrade -y
WORKDIR /var/www/html/
COPY . .
RUN pip install -r requirements.txt
EXPOSE 8000
CMD ["python", "manage.py"]

.. 尽管你为什么要在 /var/www/html 中放置 Python 代码让我很困惑。可能你不知道。