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网络

 

 

posted @ 2018-03-29 18:54  sunmmi  阅读(623)  评论(1)    收藏  举报