docker工无法访问主机中的gunicorn服务资源

我加载了一个简单的docker ubuntu镜像。 启动容器。 在该容器中安装curl。

在docker的主机。 我写了两个基于python的web服务器。 一个基于SimpleHTTPServer(托pipe在端口4000上)和一个基于猎鹰(托pipe在5000上的gunicorn)。

基于python的web服务器可以从容器shell访问:

root@430a51680859:/# curl http://172.17.0.1:4000 <!DOCTYPE> <html> <head> <title>Hello World</title> </head> <body> <h1>Welcome</h1> <p>Hello World</p> </body> </html> 

但是这个炮弹简直就失败了:

 root@430a51680859:/# curl http://172.17.0.1:5000/quote curl: (7) Failed to connect to 172.17.0.1 port 5000: Connection refused 

Gunicorn只在默认情况下侦听本地主机(127.0.0.1),而SimpleHTTPServer默认侦听所有接口。 为了能够访问Gunicorn服务的页面,使用-b 0.0.0.0:5000 (监听所有接口)或-b 172.17.0.1:5000 (仅在docker0docker0 ,可从Docker容器访问)运行docker0