有一种方法可以使用其主机名从另一个Docker容器ping Docker容器吗?

时间:2015-04-01 20:53:30

标签: docker ping hostname

我正在寻找一个解决方案,使用其主机名从另一个Docker容器ping一个Docker容器。 我尝试了如下:

启动第一个Docker容器:

docker run --rm -ti --hostname=repohost --name=repo repo

启动第二个Docker容器,链接到第一个并启动bash:

docker run --rm -ti --hostname=repo2host --link repo:rp repo2 /bin/bash
bash上的

开始于repo2

ping repohost

它仍处于待定状态而没有任何结果。

有人可以告诉我是否有解决方案吗?

2 个答案:

答案 0 :(得分:1)

您应该能够使用您在链接命令中提供的别名(:之后的部分)ping,在您的情况下ping rp应该有效。

以下适用于我,给定一个名为furious_turing的运行容器:

$ docker run -it --link furious_turing:ft debian /bin/bash root@06b18931d80b:/# ping ft PING ft (172.17.0.3): 48 data bytes 56 bytes from 172.17.0.3: icmp_seq=0 ttl=64 time=0.136 ms 56 bytes from 172.17.0.3: icmp_seq=1 ttl=64 time=0.091 ms 56 bytes from 172.17.0.3: icmp_seq=2 ttl=64 time=0.092 ms ^C--- ft ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.091/0.106/0.136/0.000 ms root@06b18931d80b:/#

如果您需要ping其他名称,可以使用/etc/hosts参数向--add-host添加条目{/ 1}}。

答案 1 :(得分:0)

实现所需目标的一种方法是使用WeaveDNS