我正在寻找一个解决方案,使用其主机名从另一个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
它仍处于待定状态而没有任何结果。
有人可以告诉我是否有解决方案吗?
答案 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。