python - flask 在容器内工作,但当我将其转发时却没有

标签 python docker flask

我正在尝试什么:我正在尝试使用 docker 运行一个简单的 flask 应用程序。使用 this网站作为引用。

我的 docker 文件:

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY ./app /app
WORKDIR /app
RUN pip install -r "requirements.txt"
ENTRYPOINT ["python"]
CMD ["app.py"]

python 文件:
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World!'

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

要求.txt:
Flask==1.0.2

我在做什么:
  • 使用 docker build -t simple-flask2 . 构建图像
  • 然后,使用 docker run -p 5000:5000 simple-flask2 启动容器
  • 当我去localhost:5000什么都没有出现。
  • 因此,我使用 docker exec -it 3be bash 打开了容器的终端。然后做了curl localhost:5000 .令我惊讶的是在容器内工作 .

  • 谁能指出我错过了什么?我对此很陌生。蒂亚:)

    最佳答案

    我猜它只在容器中的本地主机(默认值 host='127.0.0.1')上运行。尝试使用所有接口(interface)(host='0.0.0.0'):

    if __name__ == '__main__':
        app.run(port=5000, debug=True, host='0.0.0.0')
    

    关于python - flask 在容器内工作,但当我将其转发时却没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52604864/

    相关文章:

    python - Azure 认知服务 - 使用 python 和 websockets 自定义语音

    python - Pandas :在文本列中搜索关键字列表并对其进行标记

    Python/Django 调试 : print model's containing data

    python - 在 Flask 中显示新图表

    python - 如何设置 SQLALCHEMY_DATABASE_URI?

    python - Dockerfile 入口点问题

    python - 无法导入normalize_corpus python 3

    linux - 服务 docker 启动不起作用(守护进程),ubuntu-15.10,使用 intelliJ 运行 dockerfile

    node.js - 我需要运行两次 docker-compose 才能没有错误

    macos - dockerized testcafe 远程浏览器测试