環(huán)境:docker Server Version: 18.03.0-ce。
如何配置多臺主機上的docker容器在同一個網(wǎng)絡(luò)環(huán)境。通過docker自帶的overlay可以實現(xiàn)。關(guān)于overlay的一些概念自行g(shù)oogle。下面詳細說明下如何配置。
- 想讓兩個網(wǎng)絡(luò)環(huán)境下的容器互通,那么必然涉及到網(wǎng)絡(luò)信息的同步,所以需要先配置一下consul。直接運行下面命令。啟動consul。
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap - 既然同步網(wǎng)絡(luò)信息的工具安裝好了,那么肯定需要容器能夠使用這個同步工具,以便consul能夠找到各個服務(wù)器的docker節(jié)點。修改各個節(jié)點 docker的啟動配置文件/lib/systemd/system/docker.service。在 ExecStart 最后添加
--cluster-store=consul://<consul服務(wù)的ip地址>:8500 --cluster-advertise=eth0(當前對外ip使用的網(wǎng)卡名或者直接使用當前ip):2376 - 保證所有主機的docker配置文件都與2一致,這樣就能保證所有的docker overlay網(wǎng)絡(luò)同步在consul上。
- 基本上需要配置的工作我們都已經(jīng)完成了。這樣就該享受成果咯
在隨機一臺機器上創(chuàng)建overlay網(wǎng)絡(luò)(比如我想創(chuàng)建的docker的mongo集群網(wǎng)絡(luò)互通,我創(chuàng)建了一個mongo的overlay的網(wǎng)絡(luò)):
docker network create -d overlay mongo - 這個時候,你在別的機器上執(zhí)行
docker network ls,你將能夠看到在上一臺機器創(chuàng)建的overlay網(wǎng)絡(luò)。