25-docker 不同宿主机容器互联
拓扑图

1.自定义容器网段,bip:10.1.8.1/24,
[root@docker03 ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://de378wx8.mirror.aliyuncs.com"],
"bip": "10.1.8.1/24",
"mtu": 1500,
"dns": ["223.5.5.5","223.6.6.6"],
}
2.重启docker服务
[root@docker02 ~]# systemctl daemon-reload [root@docker02 ~]# systemctl restart docker
3.docker02启动容器,并配置daemon.json
[root@docker02 ~]# docker run -itd -p 8500:8500 --name consul progrium/consul -server -bootstrap
# 配置文件
[root@docker02 ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://de378wx8.mirror.aliyuncs.com"],
"data-root": "/data/docker",
"bip": "10.1.8.1/24",
"mtu": 1500,
"dns": ["223.5.5.5","223.6.6.6"],
"cluster-store": "consul://192.168.1.25:8500",
"cluster-advertise": "192.168.1.26:2375"
}
# 加入
"cluster-store": "consul://192.168.1.25:8500",
"cluster-advertise": "192.168.1.25:2375"
# 重启服务
[root@docker02 ~]# systemctl daemon-reload
[root@docker02 ~]# systemctl restart docker
4.访问docker02 consul服务

5.启动一个容器docker03
# 配置服务
[root@docker03 ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://de378wx8.mirror.aliyuncs.com"],
"bip": "10.1.8.1/24",
"mtu": 1500,
"dns": ["223.5.5.5","223.6.6.6"],
"cluster-store": "consul://192.168.1.25:8500",
"cluster-advertise": "192.168.1.26:2375"
}
[root@docker03 ~]# systemctl daemon-reload
[root@docker03 ~]# systemctl restart docker
6.容器2创建一个自定义网络
# docker02主机 [root@docker02 ~]# docker network create -d overlay ov-net01 2ee93042033cbc37f8190a20882f8deebf112b0ff6b1ec784c0e497440f687f2 [root@docker02 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE aa53a77695ff bridge bridge local 452e063a1c6f harbor_harbor bridge local 3a821c0610b7 host host local 412877924ea5 net01 bridge local 18f030428279 none null local 2ee93042033c ov-net01 overlay global # 查看docker03网络同步过来了 [root@docker03 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE ce8461436348 bridge bridge local 599ab04fd2bd harbor_harbor bridge local 51e1ca20a9e5 host host local 04e5ee0c6322 net01 bridge local d218e92e7a5a none null local 2ee93042033c ov-net01 overlay global

7.docker02启动一个容器,并加入到网络ov-net01
[root@docker02 ~]# docker run -it --rm --network ov-net01 busybox
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
317: eth0@if318: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1450 qdisc noqueue
link/ether 02:42:0a:00:00:02 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.2/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
320: eth1@if321: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
link/ether 02:42:ac:12:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.2/16 brd 172.18.255.255 scope global eth1
valid_lft forever preferred_lft forever
/ #
8.docker03启动一个容器,并加入到网络ov-net01
[root@docker03 ~]# docker run -it --rm --network ov-net01 busybox
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
117: eth0@if118: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1450 qdisc noqueue
link/ether 02:42:0a:00:00:03 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.3/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
120: eth1@if121: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
link/ether 02:42:ac:12:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.18.0.2/16 brd 172.18.255.255 scope global eth1
valid_lft forever preferred_lft foreve
9.测试互联


10.查看网络,不同宿主机容器互联,也能通过docker_gwbridge上外网
[root@docker02 ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 60b7df16ce43 bridge bridge local 27979898337a docker_gwbridge bridge local 452e063a1c6f harbor_harbor bridge local 3a821c0610b7 host host local 412877924ea5 net01 bridge local 18f030428279 none null local 7e1a7545c160 ov-net01 overlay global # 多出 docker_gwbridge网络


浙公网安备 33010602011771号