我正在尝试在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
但是我在第3层出现以下错误。
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 install -y python
已成功安装。
有人可以帮我吗?
注意:我正在组织代理工作。
答案 0 :(得分:2)
在python安装教程中,Debian的软件包名称为python3.x。 我认为这是您的情况。我在Docker上进行了测试,这是正确的配置
看起来像
来自ubuntu:20.04
运行apt-get update && apt-get -y install python3.8 python3.8-dev
答案 1 :(得分:1)
我觉得您应该使用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"]
答案 2 :(得分:1)
"stylelint": {
"extends": "stylelint-config-recommended",
"rules": {
"at-rule-no-unknown": null
}
您应按照以下相同的RUN指令运行Step 2/7 : RUN apt-get update
---> Using cache
和apt-get update
apt-get install
Dockerfile中的每条指令将在映像中创建单独的层,并缓存这些层。因此 RUN apt-get update && apt-get install -y python
可能仅使用缓存,甚至不运行。您的情况也是如此。您可以在日志中看到第apt-get update
行。您可以使用---> Using cache
使docker重建所有层而无需使用缓存。
您可以改为使用docker build --no-cache
官方映像作为基本映像来运行python应用程序。
答案 3 :(得分:0)
尝试以下方法,它对我有用
apt-get install python3-pip
然后为了安装烧瓶,你将不得不使用
pip3 install flask