我有一个 Flask 应用程序,如果我在本地运行
python app.py
,则运行不会出现错误。它说 Running on http://127.0.0.1:5000
,如果我只是转到 http://127.0.0.1:5000
,一切都会按预期进行。 app.py
的最后一行是 app.run(debug=True)
。
现在我尝试使用 Docker 运行这个应用程序。在我的 Dockerfile 中,其中一行是
EXPOSE 8501
。
然后我用
docker build -t testimage .
构建图像
最后我执行
docker run -it --expose=8501 -p 8501:8501 testimage
,它又说Running on http://127.0.0.1:5000
。
我的问题是:我必须在浏览器中输入什么才能访问在 Docker 容器内运行的应用程序?
您正在暴露端口 8501,但仍在端口 5000 上运行 Flask 应用程序。您可以在暴露的端口上启动应用程序(您可以使用
port
的参数来做到这一点)或在运行时暴露不同的端口docker,与运行的一个应用程序相匹配。