在docker中运行Flask应用程序不会在浏览器中显示页面[重复]

imzjd6km  于 2023-08-03  发布在  Docker
关注(0)|答案(2)|浏览(108)

此问题在此处已有答案

Deploying a minimal flask app in docker - server connection issues(8个答案)
6天前关门了。
我创建了以下Flask应用程序:
app.py

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def inicio():
    return render_template('index.html')

if __name__=='__main__':
    app.run(debug=True)

字符串
index.html

<html>
    <head>
    </head>
    <body>
        <p>This is a beautiful world indeed</p>
    </body>
</html>


停靠文件

FROM python:3.9-alpine

COPY . app

COPY ./requirements.txt /app/requirements.txt

WORKDIR app

EXPOSE 5000:5000

RUN pip install -r requirements.txt

CMD [ "python", "app.py" ]


然后创建图像并运行它:

docker build -t myimage .
docker run -t -i myimage


但是当我收到链接时,我点击它Running on http://127.0.0.1:5000,它会把我带到一个浏览器。但是,没有显示任何内容。我做错了什么吗?

zqdjd7g9

zqdjd7g91#

这里有两件事你需要解决。
1.如果希望从外部可以访问容器,则应绑定到0.0.0.0
1.您应该在运行Docker时绑定端口
因此,请修改Python文件,使其具有以下内容:

app.run(debug=True, host='0.0.0.0', port=5000)

字符串
然后再进行以下操作:

$ docker build -t myimage .
$ docker run -t -i -p 5000:5000 myimage

8zzbczxx

8zzbczxx2#

EXPOSE关键字实际上并没有使其生效,因此端口在运行时发布
试试看:

docker run -t -i myimage -p 5000:5000

字符串

相关问题