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

Lom*_*diD 5 python flask docker dockerfile

所以,我尝试学习 docker 并尝试制作一个简单的图像来尝试一下。docker 构建部分进展顺利,但是当我 docker 运行时,我遇到了一个问题:

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

Docker 文件:

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
Run Code Online (Sandbox Code Playgroud)

对于任何想知道的人,这是 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)
Run Code Online (Sandbox Code Playgroud)

nng*_*eek 6

由于您仅安装python3在 docker 映像内,如此处所示

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

因此,您需要运行python3而不是python在这一行中运行:CMD python .main.py

而且你的脚本名称有一个拼写错误。它应该main.py代替.main.py. 或者应该是./main.py

所以改成CMD python3 ./main.py

如果仍然有错误,您可能需要在Dockerfile上面的行中添加此行EXPOSE 5000

WORKDIR /opt/MyApp-test