2017-02-03 125 views
0

假設我在同一臺機器上有兩個碼頭網絡。 (網絡-1和網絡-2)網絡上的REST請求

在每個網絡上,我有容器。 (Container-1-Network-1和Container-1-Network-2等)

我需要從Container-1(172.18.0.x)發送一個PUT請求到Container-2(172.19.0。 x)但我得到'連接被拒絕',因爲不同的網絡不能相互通信。我在這裏有什麼選擇?我可以將容器移動到另一個網絡,還是將網絡合併到一個容器中或以某種方式鏈接容器(在docker-compose.yml中)?

謝謝。

+1

這看起來非常類似於http://serverfault.com/q/830135/351549 – BMitch

回答

1

理想情況下,您應該將容器添加到需要與其他容器進行通信的每個網絡,並且每個網絡應該彼此隔離。這是碼頭網絡的默認設計。

將容器添加到另一個網絡,使用:

docker network connect $network $container 

當你有很多容器管理的更簡單的方法是使用泊塢窗撰寫來定義哪些網絡每個容器必須屬於。這將自動執行docker network connect命令。

+0

謝謝,有關如何使用docker撰寫自動化的任何鏈接? –

+0

Docker的[與撰寫文檔聯網](https://docs.docker.com/compose/networking/)很好地涵蓋了這個選項。 – BMitch