2015-04-01 259 views
1

我正在尋找一個解決方案,使用來自另一個Docker容器的主機名來ping一個Docker容器。 我試過如下:有一種方法可以使用來自另一個Docker容器的主機名ping一個Docker容器?

開始第一碼頭工人容器:

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

開始第二泊塢容器,鏈接到第一,並開始bash下

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

在慶典開始repo2

ping repohost 

它保持掛起沒有任何結果。

有人可以告訴我,如果有解決方案嗎?

回答

1

您應該可以使用您在鏈接命令中提供的別名(:之後的部分)進行ping操作,在您的情況下ping rp應該可以工作。給正在運行的容器叫furious_turing我

下工作,:

$ docker run -it --link furious_turing:ft debian /bin/bash [email protected]:/# 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 [email protected]:/#

如果您需要ping通另外一個名字,你可以輸入與--add-host參數docker run添加到/etc/hosts

+1

我知道這種方式,但我需要使用主機名用於我的特定目的。 – theShadow89 2015-04-01 21:51:38

+0

如果你解釋說這會有所幫助:)我已經添加了--add-host,但我不確定它會有幫助。也許你可以解釋你爲什麼要這樣做? – 2015-04-01 21:57:23

+0

我不知道它是否有幫助,但我嘗試使用Docker和Docker Compose開發Spark集羣(https://spark.apache.org/docs/latest/spark-standalone.html)。 – theShadow89 2015-04-01 22:07:33

相關問題