我有三個搬運工集裝箱看(平)對方,問題越來越搬運工容器的名字
- 的Java容器(JC):我的Java應用程序(春季啓動)
- elasticsearch容器(EC) :對ElasticSearch
- 測試容器(TC):測試容器用ping測試解決
目前,JC不能看到EC的 「名」。當我說「看」我的意思是,如果我在JC上執行ping命令,我會得到一個ping: unknown host
。有趣的是,如果我在TC上做了一個ping到EC,我確實得到了迴應。
以下是我如何啓動容器。
docker run -dit --name JC myapp-image
docker run -d --name EC elasticsearch:1.5.2 elasticsearch -Des.cluster.name=es
docker run --rm --name TC -it busybox:latest
然後,從JC ping通EC,我發出以下命令。
docker exec JC ping -c 2 EC
我得到一個ping: unknown host
隨着TC,因爲我已經在殼,我可以做一個ping -c 2 EC
,我得到2個回覆。
我想也許這與我的Java應用程序有關,但我懷疑它,因爲我修改了我的Dockerfile
以站起來容器。 Dockerfile
如下所示。
FROM java:8
VOLUME /tmp
請注意,您可以通過docker build -no-cache -t myapp-image .
創建上述泊塢窗圖像。
另請注意,我安裝了Docker Weave Net,這似乎並不能幫助JC按名稱查看EC。另一方面,我試圖找到每個容器的IP地址如下。
docker inspect -f '{{ .NetworkSettings.IPAddress }}' JC
- >172.17.0.4
docker inspect -f '{{ .NetworkSettings.IPAddress }}' EC
- >172.17.0.2
docker inspect -f '{{ .NetworkSettings.IPAddress }}' TC
- >172.17.0.3
我肯定能平乳油JC通過IP地址:docker exec JC ping -c 2 172.17.0.2
。但是通過IP地址讓容器看到對方並沒有幫助,因爲我的Java應用程序需要將主機名引用作爲其配置的一部分。
關於發生了什麼事情的任何想法?容器是自己的圖像嗎?爲什麼busybox容器映像能夠通過名稱ping ElasticSearch容器,但java容器不能?
一些更多的信息。
- VirtualBox 5.0。10
- 泊塢1.9.1
- 編織1.4.0
- CentOS的1503年7月1日
- 我在Windows 10桌面爲分段環境中進行部署之前運行搬運工一個CentOS VM裏面AWS
任何幫助表示讚賞。