我目前有3個EC2實例設置了Docker Swarm和Consul。我有3個簡單的節點應用遍佈所有3個實例,然後nginx在我的swarm主機上進行路由。Docker Swarm - 網絡覆蓋未連接所有容器
使用Overlay Networks指南,我創建了一個名爲mynet
的新疊加層,並將每個容器連接到此網絡。使用docker inspect
我可以確認每個節點容器和nginx容器都連接到mynet
並具有IP。但是,在轉入我的nginx容器後,它只能通過網絡與位於同一主機上的節點應用程序通信,而不能與羣集中其他主機上的節點應用程序通信。
運行docker network inspect mynet
後,只列出了兩個容器(同一主機上的nginx和一個節點實例),而其他兩個容器未列出,即使它們具有該覆蓋層的名稱和IP來自docker inspect
的網絡。
的想法是使用nginx reverse proxy補充說,來新容器,網上它的配置,但我堅持在得到容器所有連接。根據Docker networking docs for overlay這應該是可能的。
我在做什麼錯?謝謝。
編輯:
濫發docker network inspect mynet
幾次後,它看起來像集裝箱都在不斷的連接,並從網絡斷開,即使我有所有的防火牆關閉,打開的端口用於測試目的。什麼會導致這樣的事情?