docker组成容器端口不工作
我正在运行一个由docker-container启动的容器,如下所示:
puppetboard: build: ./images/puppetboard image: puppet/puppetboard ports: - 5000:5000 links: - puppetdb:puppetdb
它成功地build立,当我运行docker ps
我可以看到:
0.0.0.0:5000->5000/tcp
我甚至可以使用docker exec
进入容器,并使用curl localhost:5000
返回一个html页面。
我仔细检查主机是否可以在127.0.0.2 (dockernetworking)上看到端口5000,使用nmap 127.0.0.2
,端口可用: 5000/tcp open upnp
。
然而,当我在主机上的浏览器中访问127.0.0.2:5000
,我的网站不可用。 我怎样才能debugging这个networking问题?
curl 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
。
正如我们在这个房间里讨论的,你必须确保集装箱化的应用程序监听容器内的所有接口。 在傀儡委员会的情况下,configuration看起来像:
DEV_LISTEN_HOST = '0.0.0.0'
用0.0.0.0来表示“所有接口”
127.0.0.x是一个回送地址。 要将容器中的端口发布到主机,您需要监听容器中的所有接口。 所以你需要确保容器内的应用程序被configuration为侦听0.0.0.0:5000(这与docker撰写文件中发布端口的选项不同)。
- docker中心urldevise的意义是什么?
- 如何使用docker在asp.net内核中创buildangular度4应用程序设置的图像
- -su:/ dev / tty:没有这样的设备或地址
- Docker for Windows容器不是以-m 4g开头的,但是用-m 3g可以正常工作
- Glassfish Docker EAR部署失败的身份validation
- 数据库,用户不是使用postgres docker-compose创build的
- Docker – docker-compose'version'没有任何configuration选项
- 从Dockerfile启动Docker容器中的多个进程
- 使用Mocha + TypeScript + Docker远程debuggingnode.js。 debugging器不反映实际的执行?