空响应返回了docker flask应用程序

时间:2016-10-25 20:56:36

标签: python docker flask

所以我有一个使用Flask-Script的简单烧瓶应用程序并运行:

if __name__ == "__main__":
    manager.run()

我的dockerfile:

CMD [ "python", "manage.py", "runserver", "-h", "0.0.0.0"]

我添加了-h 0.0.0.0,因此它可以绑定到docker localhost

然后我运行docker容器来暴露端口5000:

docker run -p 5000:5000 flask-app

然后运行并打印以下内容,告诉我我的应用程序正在运行:

 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat

我尝试卷曲我的主机,但得到一个空响应错误:

* Empty reply from server 
* Connection #0 to host localhost left intact

然后我将shell添加到我的容器中,看到我的应用正在侦听错误的地址(应该是0.0.0.0)

root@91d7d0e2331c:/app# netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN 

不确定我在这里做错了什么......

1 个答案:

答案 0 :(得分:0)

很抱歉刚才意识到我需要重建容器以使用我为manage.py runserver ....添加的新命令,然后才运行

所以我做了:

docker build -t flask-app:latest . -f build/Dockerfile

然后继续跑,它运作正常