# 實現在不同的docker主機容器間的網路連通 ## 工具 - docker overlay - consul ## 情境 在公司專案中需要同時用到windows與linux的docker環境,並且其中的容器可以互相溝通,因為windows container的特性,目前無法將web.config掛載出來,所以每次更該設定檔都要重新建置,需求是將服務網以service name的方式寫入設定檔,減少修改次數。 ## Docker overlay介紹 Docker overlay 是一種 Docker 引擎內建的網路驅動程式,它可以在 Docker 集群中創建跨主機的網路。Overlay 網路驅動程序使用 VXLAN 技術,可以將多個 Docker 主機上的容器連接在同一個虛擬網路中,從而實現容器之間的通信。 使用 Docker overlay 網路,你可以輕鬆地將多個 Docker 主機上的容器連接起來,形成一個虛擬的容器網路。這個虛擬的容器網路可以跨越多個 Docker 主機,使容器之間可以像在同一台主機上一樣互相訪問。 ## consul介紹 Consul 可以與 Docker overlay 網路集成,以提高容器的服務發現和配置管理能力。具體來說,Consul 可以在 Docker overlay 網路中註冊服務實例,並為這些服務實例提供健康檢查和配置管理等功能。 通過與 Docker overlay 網路集成,Consul 可以使容器更加智慧化和自動化。例如,當容器啟動時,它可以自動將自己註冊到 Consul 服務目錄中,並定期向 Consul 發送健康檢查請求。如果容器發生故障或不健康,Consul 可以自動將其從服務目錄中刪除,以避免用戶端訪問到不可用的容器。 另外,Consul 還可以為容器提供配置管理功能。通過 Consul 的 Key-Value 儲存,容器可以輕鬆地獲取最新的配置訊息,並自動更新自己的配置。這樣,當配置訊息發生變化時,容器可以自動感知並重新配置自己,從而實現更加智慧化和自動化的容器管理。 ## 實作 ### 預先準備 - AP的Docker image - Docker主機
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up