Docker跨主机网络(overlay)的实现

2020-06-17 07:19:02易采站长站整理


可以看到节点docker02和docker03

在docker02上自定义一个网络


[root@docker02 ~]# docker network create -d overlay ov_net1
//创建一个overlay网络
[root@docker02 ~]# docker network ls
//查看网络

在docker03上查看一下网络,可以看到也生成了ov_net1网络

[root@docker03 ~]# docker network ls

浏览器查看一下

修改docker01的docker配置文件,在docker01上查看一下网络,可以看到也生成了ov_net1网络


[root@docker01 ~]# vim /usr/lib/systemd/system/docker.service #13行添加
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2376 --cluster-store=consul://192.168.1.11:8500 --cluster-advertise=ens33:2376
//把本机的/var/run/docker.sock通过ens33:2376,存到192.168.1.11:8500的consul服务上

[root@docker02 ~]# systemctl daemon-reload
[root@docker02 ~]# systemctl restart docker
//重启docker
[root@docker03 ~]# docker network ls
//查看网络

Docker三台各自基于网络ov_net1运行一台虚拟机测试三台是否能互相ping通


[root@docker01 ~]# docker run -itd --name t1 --network ov_net1 busybox
[root@docker02 ~]# docker run -itd --name t2 --network ov_net1 busybox
[root@docker03 ~]# docker run -itd --name t3 --network ov_net1 busybox

[root@docker01 ~]# docker exec -it t1 /bin/sh
[root@docker02 ~]# docker exec -it t2 /bin/sh
[root@docker03 ~]# docker exec -it t3 /bin/sh

/ # ping 10.0.0.2

/ # ping 10.0.0.3

/ # ping 10.0.0.4