【发布时间】:2021-05-30 06:12:47
【问题描述】:
HelloWorld-1.py
>app = Flask(__name__)
@app.route('/')
def printHelloWorld():
print("+++++++++++++++++++++")
print("+ HELLO WORLD-1 +")
print("+++++++++++++++++++++")
return '<h1>Bishwajit</h1>'
# return '<h1>Hello %s!<h1>' %name
if name == '__main__':
app.run(debug='true')
Dockerfile
FROM python:3
ADD HelloWorld-1.py /HelloWorld-1.py
RUN pip install flask
EXPOSE 80
CMD [ "python", "/HelloWorld-1.py"]
使用以下命令构建 docker
docker build -t helloworld .
使用以下命令运行 docker 映像
docker run -d --name helloworld -p 80:80 helloworld
当我运行以下命令时
docker ps -a
我得到以下输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cebfe8a22493 helloworld "python /home/HelloW…" 2 minutes ago Up 2 minutes (unhealthy) 0.0.0.0:80->80/tcp helloworld
如果我在浏览器中点击(127.0.0.1:5000),它不会给出响应, 但是当我单独运行python文件时,它在浏览器中运行正常。
【问题讨论】:
-
您正在尝试使用
127.0.0.1:5000进行访问,所以-p参数不应该是-p 5000:80吗? -
我也尝试更改端口,但没有成功。我的 docker 文件是否正确?
-
我也试过了。在 Dockerfile 中....有 EXPOSE 80,是否应该更改。
-
@programandoconro 终于成功了。我改变了一些东西,比如 `` app.run(debug='true', port='5000', host='0.0.0.0') ``` ``` docker run -p 5000:5000 helloworld ```
标签: python-3.x docker flask