2017-09-26 54 views
0

我試圖用Confluence和JIRA創建一個服務。如何從網絡中的另一個碼頭集裝箱引用泊塢窗容器?

我創建了一個網絡,例如:

docker network create --driver bridge atlassian_stack

並公佈每一個容器這個網絡上,一個揭露端口8080和8090的另一個:

docker run -it --detach --publish 8080:8080 --net=atlassian_stack --name JIRA cptactionhank/atlassian-jira-software:latest 

docker run -it --detach --publish 8090:8090 --net=atlassian_stack --name CONFLUENCE cptactionhank/atlassian-confluence:eap 

我可以同時訪問在本地http://localhost:8080(JIRA)和http://localhost:8090(Confluence)。

但是,將應用程序鏈接在一起需要Atlassian產品中的硬編碼IP。 Confluence想知道JIRA所在的位置,以及vica verca。它似乎沒有在上述IP地址上看到對方(這很合理),因爲它抱怨未解決的DNS。

問題是:當應用程序需要一個硬編碼的DNS/IP,並且它們駐留在同一個網絡中時,我如何正確地將它們引用到另一個?

+0

嘗試使用JIRA:8080在合流配置和CONFLUENCE:嘗試與容器名稱8090反之亦然 – hecko84

+0

- 似乎並沒有工作,至少在JIRA /匯合設置:/ – cbll

+0

你是對的!我在容器名稱中有一個下劃線,這就是爲什麼他們看不到對方......有道理。乾杯。 – cbll

回答

1

當多個容器共享一個公共網絡時,每個容器可以使用容器的name解析任何其他容器(在同一網絡上)。

所以你的情況,你應該能夠運行docker exec -it JIRA ping CONFLUENCEdocker exec -it CONFLUENCE ping JIRA假設ping是這些容器內可用,如果沒有,你可以Exec的/附加一個殼到每個並安裝所需的網絡工具(pingtelnetnc等)docker exec -it JIRA sh,然後在#提示,yum install telnet -yapt instal -y取決於基礎圖像的特定發行]

如果您只能使用IP地址(而不是主機名/名),那麼你就需要在Confluence啓動時,通過運行nslookup jira或其他東西milar。下面是一個例子:

~ ᐅ docker network create -d bridge www 
9e1ab7c25a58fdbdaa1ec46bbcf9c9b37bb6ddc776abe6b2fb47dbb0c100d750 
~ ᐅ docker run -d --name w1 --network www busybox top 
Unable to find image 'busybox:latest' locally 
latest: Pulling from library/busybox 
03b1be98f3f9: Pull complete 
Digest: sha256:99ccecf3da28a93c063d5dddcdf69aeed44826d0db219aabc3d5178d47649dfa 
Status: Downloaded newer image for busybox:latest 
fb0c198b002559b6ccd7dd145a394592a7258b1a955012aae8c707a5bea70c86 
~ ᐅ docker run -d --name w2 --network www busybox top 
13ea6ceb82f7d80d34a8cc3b6ba79bdfcc1d3a5f1df1b5f59a20323db21a7190 
~ ᐅ docker exec -it w1 nslookup w2 
Server: 127.0.0.11 
Address 1: 127.0.0.11 

Name:  w2 
Address 1: 172.19.0.3 w2.www 

~ ᐅ docker exec -it w1 sh 

/# nslookup w2 | awk '/^Address.* w2.*/ { print $3 ; exit }' 
172.19.0.3 
/# exit 
+0

這個錯誤很簡單:我在容器名稱中有一個下劃線,所以SOMETHING_JIRA - 當然這不能由DNS解決。愚蠢愚蠢的愚蠢:) – cbll

相關問題