Docker运行错误:/bin/sh: 1: python: 找不到

5

所以,我正在尝试学习Docker,并尝试创建一个简单的镜像来尝试它。Docker构建部分很顺利,但是当我运行Docker时,出现了问题:

(base) daniellombardi@Daniels-MacBook-Pro MyApp-test % docker run bd
/bin/sh: 1: python: not found

Dockerfile:
FROM ubuntu

RUN apt-get update && apt-get install -y python3 python3-pip

RUN pip3 install flask

RUN mkdir /MyApp-test

ADD folder /opt/MyApp-test

EXPOSE 5000

CMD python .main.py

如果有人想知道,这是main.py文件中的代码

from flask import Flask

app = Flask(__name__)


@app.route('/')
def index():
    return 'IT WORKED! I AM RUNNING FROM A DOCKER CONTAINER!!!'


if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000)

2
更改为 CMD python3 .main.py - eyllanesc
我收到了这个错误:(base) daniellombardi@Daniels-MacBook-Pro MyApp-test % docker run 3bd python3: can't open file '.main.py': [Errno 2] No such file or directory - LombardiD
1个回答

6

由于您只在docker镜像中安装了python3,如下所示:

RUN apt-get update && apt-get install -y python3 python3-pip

因此,在此行中,您需要运行python3而不是pythonCMD python .main.py

并且您的脚本名称有错别字,应为main.py而不是.main.py,或者应为./main.py

将其更改为CMD python3 ./main.py

如果仍然出现错误,则可能需要在DockerfileEXPOSE 5000行之前添加此行:

WORKDIR /opt/MyApp-test


此错误显示为: (base) daniellombardi@Daniels-MacBook-Pro MyApp-test%docker run 3bd python3:无法打开文件'.main.py':[Errno 2] 没有那个文件或目录 - LombardiD
1
你应该使用 python3 ./main.py 而不是 python3 .main.py - nngeek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接