Phi*_*ide 1 docker docker-compose
我正在运行一个由docker-container启动的容器,如下所示:
puppetboard:
build: ./images/puppetboard
image: puppet/puppetboard
ports:
- 5000:5000
links:
- puppetdb:puppetdb
Run Code Online (Sandbox Code Playgroud)
它成功构建,当我运行时,docker ps我可以看到:
0.0.0.0:5000->5000/tcp
Run Code Online (Sandbox Code Playgroud)
我甚至可以使用docker exec和curl localhost:5000返回一个html页面进入容器.
我仔细检查主机是否可以在127.0.0.2 (docker network)上看到端口5000 ,nmap 127.0.0.2并且端口可用:5000/tcp open upnp.
然而,当我127.0.0.2:5000在主机上的浏览器中,我得到的网站不可用.如何调试此网络问题?
curl 127.0.0.2:5000&的结果curl 127.0.0.1:5000是:curl: (56) Recv failure: Connection reset by peer.
127.0.0.x是一个环回地址.要将容器中的端口发布到主机,您需要侦听容器中的所有接口.因此,您需要确保容器内的应用程序配置为侦听0.0.0.0:5000(这与在docker compose文件中发布端口的选项不同).
正如我们在这个房间讨论的那样,您必须确保容器化应用程序侦听容器内的所有接口。在木偶板的情况下,配置看起来像:
DEV_LISTEN_HOST = '0.0.0.0'
Run Code Online (Sandbox Code Playgroud)
0.0.0.0 用于表示“所有接口”
| 归档时间: |
|
| 查看次数: |
4314 次 |
| 最近记录: |