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

时间:2016-03-15 14:39:53

标签: python docker gunicorn simplehttpserver

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

在码头主机上。我写了两个基于python的Web服务器。一个基于SimpleHTTPServer(托管在端口4000上)和一个基于falcon(在5000上使用gunicorn托管)。

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

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

1 个答案:

答案 0 :(得分:1)

Gunicorn默认只侦听localhost(127.0.0.1),而SimpleHTTPServer默认侦听所有接口。为了能够访问Gunicorn提供的页面,使用-b 0.0.0.0:5000(在所有界面上侦听)或-b 172.17.0.1:5000(仅在docker0上侦听,可从Docker容器访问)运行Gunicorn。