我使用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容器上运行flask应用程序,它不会在端口6000上运行而是运行端口5000.为什么会这样?在dockerfile中暴露端口号对于烧瓶应用程序来说是不够的?
1 回答
您的烧瓶应用程序不知道哪个端口放在dockerfile中 . 您可以将应用程序保留在默认端口,并告诉docker使用-p选项在所需端口上公开它:
有关详细信息,请参阅https://docs.docker.com/network/links/#connect-using-network-port-mapping .