要使用docker 原生的overlay,要知足任意的2個條件:
1,docker 運行在swarm 模式
2,使用鍵值存儲docker 主機集羣node
這裏使用consul 鍵值存儲來部署
節點1/鍵值存儲(Server):192.168.1.198
節點2(Client):192.168.1.199
1,下載consul二進制包 進行部署(下載到server節點)linux
wget https://releases.hashicorp.com/consul/0.9.2/consul_0.9.2_linux_amd64.zip
2,解壓縮添加執行命令docker
unzip consul_0.9.2_linux_amd64.zip mv consul /usr/bin/consul && chmod +x /usr/bin/consul
3,指定後臺運行,並將啓動信息重定向到日誌裏(指定類型爲server 客戶端信息綁定信息) -ui 能夠經過網頁訪問看到consul的基本狀況,-bind 監聽的地址bootstrap
nohup consul agent -server -bootstrap -ui -data-dir /var/lib/consul -client=192.168.1.198 -bind=192.168.1.198 &>/var/log/consul.log & cat /var/log/consul.log \\查看日誌 是否啓動成功
4,server節點配置docker 守護進程consul(修改docker啓動文件)consul://server地址網絡
vi /lib/systemd/system/docker.service [Service] ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store consul:// 192.168.1.198:8500 --cluster-advertise 192.168.1.198:2375(通告信息)
從新加載docker配置文件使更改生效tcp
systemctl daemon-reload service docker restart
5,client節點配置ide
vi /lib/systemd/system/docker.service [Service] ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 --cluster-store consul:// 192.168.1.198:8500 --cluster-advertise 192.168.1.199:2375
從新加載使配置生效測試
systemctl daemon-reload service docker restart
6,建立overlay網絡(任意一臺 最好是server 端,他會同步到其餘node)ui
docker network create -d overlay multi_host(網絡名)
7測試互通unix
docker run -itd --net=multi_host busybox (--net 加入overlay 網絡) ping ....