【问题标题】:Expose a different port for Flask App inside Docker Container在 Docker 容器中为 Flask App 暴露一个不同的端口
【发布时间】:2023-04-03 02:20:01
【问题描述】:

我使用 docker 容器构建了一个烧瓶应用程序,该应用程序在端口 5000 上运行良好。但是,为了公开不同的端口,我必须将端口放入 app.py 中

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

启动 docker 容器后效果很好。

但是,当我这样做时

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

在 Dockerfile 中说

EXPOSE 6000

并在 docker 容器上运行烧瓶应用程序,它不在端口 6000 上运行,而是在端口 5000 上运行。为什么会这样?暴露 dockerfile 中的端口号对于烧瓶应用程序来说还不够吗?

【问题讨论】:

    标签: docker flask


    【解决方案1】:

    您的烧瓶应用程序不知道将哪个端口放入 dockerfile。 您可以将应用程序保留在默认端口,并使用 -p 选项告诉 docker 在所需端口上公开它:

    docker run -i -t -p 6080:5000 ...
    

    更多详情请参阅https://docs.docker.com/network/links/#connect-using-network-port-mapping

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-01
      • 2020-06-29
      • 2018-09-03
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      相关资源
      最近更新 更多