2017-08-23 88 views
0

我有兩個容器一個webapp和一個數據庫。跨網絡鏈接容器

該web應用程序是爲網絡上使用10.10.1.10/24爲該用戶定義的網絡macvlan驅動器和這個網絡的名稱MNET

鏈路/乙醚02:42:0A:84:01: 05 INET 10.10.1.10/24全球範圍的eth0

Db的容器是INET 10.10.11.2/24全球範圍的eth0

使用橋式驅動器用於該用戶定義的網絡和這個網絡的名稱是INT

我可以在本地網絡上ping mnet(10.10.10.1)和所有其他機器的網關,但不能從db容器中的docker中託管的webapp(10.10.10.5)。

我想在此網絡上將webapp與db鏈接,但無法與db建立連接,反之亦然。

如果我把db容器放在和webapp網絡相同的位置,我可以鏈接兩者。

我不希望他們放在同一個網絡上的原因是,mnet與我們的LAN集成,所以我想隔離用戶訪問db容器。

環境:生產

泊塢版本:17.03.1-CE

OS:RancherOs

是否有任何變通,原因或解決這個問題。

回答

0

一個容器可以在多個網絡上。製作一個新的用戶定義網絡,並將數據庫和網絡應用程序放在上面。然後,當他們想互相交談時,他們會使用這個新網絡,但其他流量將使用您現有的網絡。

+0

謝謝你的回覆。 你是對的,但如果我把他們兩個在內部網絡(橋),那麼我不得不公開端口的網絡應用程序,並且必須使用不理想的碼頭主機IP。 這就是爲什麼我正在尋找一種方法來把數據庫放在內部和wepapp的「macvlan」網絡,這是我的本地lan – Khaliq

+0

集成想象一下你有三個網絡的場景。 Macvlan,內部/橋接和第三個新的webapp-db,只是爲了兩者之間的連接。 – ssc327