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"]
您正在将 PATH
设置为 /env/bin/activate
,然后这是唯一搜索 apt-get
的地方。无需在容器内激活虚拟环境,只需删除该行即可。 pip
可以毫无问题地将 requirements.txt
中的软件包安装到“系统”Python。
您不能像您尝试的那样使用多个 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 代码让我很困惑。可能你不知道。
构建 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"]
您正在将
PATH
设置为/env/bin/activate
,然后这是唯一搜索apt-get
的地方。无需在容器内激活虚拟环境,只需删除该行即可。pip
可以毫无问题地将requirements.txt
中的软件包安装到“系统”Python。您不能像您尝试的那样使用多个 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 代码让我很困惑。可能你不知道。