【发布时间】:2016-08-01 17:17:38
【问题描述】:
我有两个容器正在运行:c1 和 c2。
C1 正在监听端口 2181 并且 C2 连接到 2181 端口
问题是 C2 无法在所述端口上连接到 C1,我不知道为什么。
当我在容器中运行连接到 C1 的代码时,它工作正常。所以我知道 C1 正在运行并且端口正确暴露。只是当我将应用程序放到它自己的容器中时,端口就不再可见了。
我在 C2 中尝试了 lsof,但它没有被列出,这对它失败的原因是有道理的。
任何关于我下一步需要看哪里的线索将不胜感激。
我使用的是 docker-compose,所以容器默认应该在同一个网络组中:
这是我的撰写文件:
version: '2'
services:
c1:
build: .
volumes:
- .:/code
depends_on:
- c2
c2:
image: jplock/zookeeper
ports:
- "2181:2181"
- "2888:2888"
- "3888:3888"
在 C1 中,发起者使用 URI localhost:2181
【问题讨论】:
-
向我们展示您的代码?不是全部,但足以准确地重现问题。具体来说,您使用什么地址连接到第二个容器?
-
啊,好点子,刚刚读到您应该使用撰写文件中列出的容器名称代替主机名。我仍在引用本地主机。我会试试看,然后告诉你。
-
感谢 Larsks 你帮助我到达那里。
标签: networking docker docker-compose