Docker 找不到python包
我试图在ubuntu图像上运行下面的Dockerfile内容Docker 找不到python包,docker,ubuntu,dockerfile,Docker,Ubuntu,Dockerfile,我试图在ubuntu图像上运行下面的Dockerfile内容 FROM ubuntu RUN apt-get update RUN apt-get install -y python RUN apt-get install -y python-pip RUN pip install flask COPY app.py /opt/app.py ENTRYPOINT FLASK_APP=/opt/app.py flask run --host=0.0.0.0 但是我在第三层得到了下面的错误 Ste
FROM ubuntu
RUN apt-get update
RUN apt-get install -y python
RUN apt-get install -y python-pip
RUN pip install flask
COPY app.py /opt/app.py
ENTRYPOINT FLASK_APP=/opt/app.py flask run --host=0.0.0.0
但是我在第三层得到了下面的错误
Step 1/7 : FROM ubuntu
---> 549b9b86cb8d
Step 2/7 : RUN apt-get update
---> Using cache
---> 78d87d6d9188
Step 3/7 : RUN apt-get install -y python
---> Running in a256128fde51
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package python
尽管我单独运行下面的命令
sudo apt get安装-y python
它已成功安装
谁能帮帮我吗
注意:我正在组织代理的背后工作。我觉得你更应该使用Python3的映像,而不是使用ubuntu然后安装它
FROM python:3
RUN apt-get update && apt-get install -y python3-pip #You don't need to install pip, because it is already there in python's image
RUN pip install -r requirements.txt
COPY . /usr/src/apps #This you can change
WORKDIR /usr/src/apps/ #this as well
CMD ["python","app.py"]
您应该在相同的运行指令中运行apt get update
和apt get install
,如下所示
RUN apt-get update && apt-get install -y python
Dockerfile中的每个指令都将在映像中创建单独的层,并且这些层将被缓存。因此,apt get update
可能只是使用缓存,甚至不运行。你的情况也是如此。您可以在日志中看到行-->Using cache
。您可以使用docker build--no cache
让docker在不使用cache的情况下重建所有层
您可以只使用
python:3
official image作为基本映像来运行python应用程序 在python安装教程中,有一个用于Debian的包名python3.x。
我想这是你的情况。我在Docker中测试了它,这是正确的配置
看起来像
来自ubuntu:20.04
运行apt-get-update&&apt-get-y安装python3.8 python3.8-dev
apt-get-install python3-pip
然后,为了安装烧瓶,您必须使用
pip3安装烧瓶
尝试在没有缓存的情况下构建——没有缓存
为什么需要从ubuntu构建?docker已经有了一个Python映像
RUN apt-get update && apt-get install -y python