這個問題可能是給所有的碼頭工人大師。但是讓我先介紹一些背景知識。我面對的DNS解析問題(在碼頭工人的默認網絡「橋樑」),直到我在https://docs.docker.com/engine/userguide/networking/碼頭工人的默認DNS嵌入式橋接網絡
閱讀文檔中的以下泊塢窗網絡檢查上面的命令顯示所有給定網絡上所連接的容器和他們的網絡資源。此默認網絡中的容器能夠使用IP地址相互通信。 Docker不支持默認網橋上的自動服務發現。如果要在此默認橋接網絡中與容器名稱進行通信,則必須通過傳統泊塢窗運行 - 鏈接選項連接容器。
作爲--link
選項已過時,使任何docker run
命令掛起和最後搗毀搬運工守護進程(局部地)我試圖使用不同的橋接用戶網絡和釘扎虛設實例給它。
docker network create -d bridge --subnet=172.15.0.0/16
--gateway=172.15.0.1
-o com.docker.network.bridge.default_bridge=false
-o com.docker.network.bridge.enable_icc=true
-o com.docker.network.bridge.enable_ip_masquerade=true
-o com.docker.network.driver.mtu=1500
-o com.docker.network.bridge.name=docker1
-o com.docker.network.bridge.host_binding_ipv4=0.0.0.0 a
docker run --name db1 -e MYSQL_ROOT_PASSWORD=a -d mysql:5.7.16
docker run --name db2 -e MYSQL_ROOT_PASSWORD=a -d mysql:5.7.16
docker network connect --ip 172.15.0.40 a db1
docker network connect --ip 172.15.0.40 a db2
現在通過--name
命名服務/容器的分辨率工作正常使用ping
但這裏的問題是:
爲什麼服務/容器名稱解析不可能的默認橋接網絡上?
將是巨大的,如果任何搬運工網絡大師會給出提示。問候。
感謝clearification –
讓我們假設我想啓用,我可以對默認的用戶網絡上相同的功能,我應該怎麼辦?我應該在守護進程中啓用哪些標誌來解鎖? 我在問這個問題,因爲用'--icc = true'或'--icc = false'都不會改變一件事情。並且與守護進程中的那個標誌結合使用,使用相對的docker run --network-alias = ...'標誌,仍然帶來一個錯誤,說它只能用於用戶網絡。 任何明確的文檔,我可以閱讀如何使用此功能呢?先謝謝你! –
@JulianXhokaxhiu默認橋樑網絡是不可能的。是否有一個特定的原因,你不想使用自定義網絡?它很容易使用一個(我可以更新,並添加一個基本的例子,如果你想) – thaJeztah