概述
在两台宿主机分别创建自定义的docker网络,网络类型为bridge,在各自的宿主机上创建docker容器,容器连接至各自主机上的自定义网络。在宿主机上创建路由规则,实现两台宿主机上的容器之间的互联通信。
通过宿主机上的网络命名空间ID,向容器中添加多个网卡。
网络地址划分
主控主机
IP:192.168.83.83
网段:10.76.1.0/24
网关:10.76.1.1
自定义网络网桥名称:br01
容器IP地址:10.76.1.83、10.76.1.84、10.76.1.85
线卡主机
IP:192.168.83.85
网段:10.76.2.0/24
网关:10.76.2.1
自定义网络网桥名称:br02
容器IP地址:10.76.2.83、10.76.2.84、10.76.2.85
创建网络与容器
在主控主机上创建自定义网络的步骤流程如下:
[root@jamza_vm_master_litepaas route_net_test]# docker network ls
NETWORK ID NAME DRIVER SCOPE
5b591ed369ac bridge bridge local
b919f69968ec docker_gwbridge bridge local
032c767b11de host host local
cad8d79e6d05 none null local
[root@jamza_vm_master_litepaas route_net_test]#
[root@jamza_vm_master_litepaas route_net_test]# docker network create --subnet=10.76.1.0/24 --gateway=10.76.1.1 -o "com.docker.network.bridge.name"=br01 -o "com.docker.network.bridge.enable_icc"=true net1
52318642206e51c48599d06f2d8a4473e23aa485084cc9ca48618cdfc6b867fd
[root@jamza_vm_master_litepaas route_net_test]#
[root@jamza_vm_master_litepaas route_net_test]# docker network ls
NETWORK ID NAME DRIVER SCOPE
5b591ed369ac bridge bridge local
b919f69968ec docker_gwbridge bridge local
032c767b11de host host local
52318642206e net1 bridge local
cad8d79e6d05 none null local
[root@jamza_vm_master_litepaas route_net_test]#
[root@jamza_vm_master_litepaas route_net_test]# docker network inspect net1
[
{
"Name": "net1",
"Id": "52318642206e51c48599d06f2d8a4473e23aa485084cc9ca48618cdfc6b867fd",
"Created": "2019-08-06T14:18:03.256967046+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {
},
"Config": [
{
"Subnet": "10.76.1.0/24",
"Gateway": "10.76.1.1"
}
]
},
"Internal": false,
"Attachable": false,
"Containers": {
},
"Options": {
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.name": "br01"
},
"Labels": {
}
}
]
[root@jamza_vm_master_litepaas route_net_test]#
在主控主机上创建静态路由,表示访问10.76.2.0/24网段需经过192.168.83.85网卡(线卡主机),且经过本机eth0网卡。
[root@jamza_vm_master_litepaas route_net_test]#
[root@jamza_vm_master_litepaas route_net_test]# ip route
default via 192.168.83.1 dev eth0
10.76.1.0/24 dev br01 proto kernel scope link src 10.76.1.1
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev eth20 scope link metric 1003
169.254.0.0/16 dev eth21 scope link metric 1004
172.17.6.0/24 dev docker0 proto kernel scope link src 172.17.6.252
172.18.0.0/20 dev docker_gwbridge proto kernel scope link src 172.18.0.1
192.168.83.0/24 dev eth0 proto kernel scope link src 192.168.83.83
192.168.84.0/24 dev eth20 proto kernel scope link src 192.168.84.83
192.168.85.0/24 dev eth21 proto kernel scope link src 192.168.85.83
[root@jamza_vm_master_litepaas route_net_test]#
[root@jamza_vm_master_litepaas route_net_test]# ip route add 10.76.2.0/24 via 192.168.83.85 dev eth0
[root@jamza_vm_master_litepaas route_net_test]#
[root@j