无法在 docker 中访问我的简单烧瓶应用程序 运行

Can't access my simple flask app running in docker

应用程序运行,但是当我尝试转到 link @ http://172.17.0.2:5000/ 时超时。

相关代码:

app = Flask(__name__)
@app.route('/')
def index():
    return "hullo"

我也尝试过使用和不使用这段代码,这是其他 Whosebug 对与我的类似问题的回答所建议的,但它不起作用:

 if __name__ == '__main__':
   app.run(host ='0.0.0.0')

Docker 文件:

FROM python:3.9.6-slim-buster
WORKDIR /project
RUN python -m pip install --upgrade pip
RUN pip install -U Flask Flask-WTF Flask-SQLAlchemy DateTime python-dotenv mysql-connector-python
COPY . .
CMD [ "python3", "-m" , "flask", "run", "--host", "0.0.0.0"]

运行命令:

docker run --publish 5000:5000 testbon5

这实际上是从官方文档教程中复制粘贴的。我做错了什么吗?

明白了。来自一个非常好的人。

我需要在地址栏中输入“localhost:/5000”。这让我感到困惑,因为我总是通过烧瓶日志访问我正在处理的网站,在这种情况下是:

 * Serving Flask app 'project/app.py' (lazy loading)
 * Environment: development
 * Debug mode: on
 * Running on all addresses.
   WARNING: This is a development server. Do not use it in a production deployment.
 * Running on http://172.17.0.2:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!

我想因为它在容器中 运行,地址不再有效。希望这能帮助任何像我一样在学习过程中经历成长痛苦的人 docker。