2016-11-07 32 views
0

泊塢命令,我已經使用以旋轉領事多個容器盛載多克爾領事在單個VM設置

  1. 創建靜態IP容器1 = docker network create --subnet=172.18.0.0/16 C1

  2. 運行領事容器到該IP :
    docker run -d --net C1 --ip 172.18.0.10 -p 48301:8301/tcp -p 48400:8400/tcp -p 48600:8600/tcp -p 48300:8300/tcp -p 48302:8302/tcp -p 48302:8302/udp -p 48500:8500/tcp -p 48600:8600/udp -p 48301:8301/udp --name=test1 consul agent -client=172.18.0.10 -bind=172.18.0.10 -server -bootstrap -ui

  3. 類似地創建靜態IP containter 2 - docker network create --subnet=172.19.0.0/16 C2

  4. docker run -d --net C2 --ip 172.19.0.10 -p 58301:8301/tcp -p 58400:8400/tcp -p 58600:8600/tcp -p 58300:8300/tcp -p 58302:8302/tcp -p 58302:8302/udp -p 58500:8500/tcp -p 58600:8600/udp -p 58301:8301/udp --name=test2 consul agent -client=172.19.0.10 -bind=172.19.0.10 -server -bootstrap -ui -join 192.168.99.100:48301

在IP 172.19.0.10:8301領事容器test2的是不能夠與172.18.0.10:8301八卦。我收到了No Acknowledgegment收到的消息。

我也試過--link鏈接兩個容器。但那並不奏效。

任何人都可以讓我知道如果我做的一切正確嗎?

回答

1

當您在docker守護進程上創建用戶定義的網絡時,您必須知道這些網絡的一些屬性。

網絡中的每個容器都可以立即與網絡中的其他容器進行通信。雖然,網絡本身隔離來自外部網絡的容器。 Docker documentation

這可以有效地說明你正在經歷什麼。這些容器不能互相通話,因爲它們彼此隔離(駐留在不同的網絡中),因此它們是隔離的

--link這一點,在用戶自定義網絡中不支持。

在用戶定義的網橋網絡中,不支持鏈接。 Docker documentation

解決方法是將兩個容器放在同一個網絡中。我沒有看到你的描述中明顯需要使用兩個不同的網絡。第二個使用不同的--ip

+0

謝謝@markusthoemmes。這真的有幫助。 –