docker跨主机

docker 1 主机和docker2主机通信

docker 1 主机 运行consul服务:

docker run -d -p 8500:8500 -h consul --name consul --restart=always progrium/consul -server -bootstrap

参数解释:
-d:后台运行
-p:映射端口
-h:容器的主机名
--name : 容器名
--restart=always :保持容器开启的状态
-server -bootstrap:如果该服务在集群当中,它会以master的角色出现

 

vi /usr/lib/systemd/system/docker.service

添加配置

 

-H tcp://0.0.0.0:2376 --cluster-store=consul://192.168.0.30:8500 --cluster-advertise=ens32:2376

systemctl daemon-reload
systemctl restart docker

参数解释:
/var/run/docker.sock:#docker的一个编程接口。
-H tcp://0.0.0.0:2376:#使用本机的tcp2376端口。
--cluster-store=consul://172.16.1.30:8500:#集群存储指向的是docker01服务器的ip地址及监听端口。 
--cluster-advertise=ens33:2376:#从本机的ens33网卡通过2376端口收集网络信息,存储在consul上。

 

 

创建网络

docker network create -d overlay --subnet 172.16.200.0/24 --gateway 172.16.200.1 my_olay1
运行docker
docker run -itd --name test1 --network my_olay1 --ip 172.16.200.10 centos

docker2主机同样的 修改配置(2主机可以看到1创建的网络) 用新创建的网络创建容器就可以通信了

 

 

https://blog.51cto.com/13972012/2446618?source=dra

你可能感兴趣的:(docker跨主机)