1. 测试不同网段的网络连通性
- 已知tomcat01、tomcat02是属于docker0网络,tomcat04、tomcat05是属于mynet网络
[root@QK ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8eee1b519d7f tomcat "catalina.sh run" 28 minutes ago Up 28 minutes 0.0.0.0:49157->8080/tcp, :::49157->8080/tcp tomcat05
19200034d1ff tomcat "catalina.sh run" 28 minutes ago Up 28 minutes 0.0.0.0:49156->8080/tcp, :::49156->8080/tcp tomcat04
ca716626930c tomcat "catalina.sh run" 3 days ago Up 3 days 0.0.0.0:49154->8080/tcp, :::49154->8080/tcp tomcat02
70b4e9694156 tomcat "catalina.sh run" 3 days ago Up 3 days 0.0.0.0:49153->8080/tcp, :::49153->8080/tcp tomcat01
[root@QK ~]# docker exec -it tomcat01 ping tomcat04
ping: tomcat04: Name or service not known
[root@QK ~]#
2. 查看帮助命令
3. 容器连接网络
- 容器tomcat01连接到mynet网络
docker network connect mynet tomcat01
- 查看mynet网络,可以发现,tomcat01出现在了mynet网络中(tomcat01原本属于docker0网络)
- 即一个容器两个IP
[root@QK ~]# docker network connect mynet tomcat01
[root@QK ~]# docker network inspect mynet
[
{
"Name": "mynet",
"Id": "4fbb6b60d135407b62f6e12ecc4d1a9d2d111ba47cb7eb85ef845ff968c10c66",
"Created": "2021-05-20T17:13:33.073239295+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "192.168.0.0/16",
"Gateway": "192.168.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"19200034d1ff74a8981385aaa55a9c014a6216fafcbed5b6aa1d1de071585df5": {
"Name": "tomcat04",
"EndpointID": "df1c00ff87da74f4fc137a055ec198f5aba8fd531c78d8196629d0abcc0c8947",
"MacAddress": "02:42:c0:a8:00:02",
"IPv4Address": "192.168.0.2/16",
"IPv6Address": ""
},
"70b4e9694156630e2a0612d02ea56330310c5399b0dba549c2b1ffb0ce71e252": {
"Name": "tomcat01",
"EndpointID": "8b1c110dba168363ebdd523a6825c19872788539a488cbe881360dc35a7eb18b",
"MacAddress": "02:42:c0:a8:00:04",
"IPv4Address": "192.168.0.4/16",
"IPv6Address": ""
},
"8eee1b519d7f0a90959b754ff272bef7d4e7962cbb9aa2bbdb1b6eba81028f71": {
"Name": "tomcat05",
"EndpointID": "c73b4a5647537b0f3f9d1e895343d827e67107ff754a9cf36b52e427e4f45cd0",
"MacAddress": "02:42:c0:a8:00:03",
"IPv4Address": "192.168.0.3/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
[root@QK ~]#
- 测试docker0网络下的tomcat01连接mynet网络
[root@QK ~]# docker exec -it tomcat01 ping tomcat04
PING tomcat04 (192.168.0.2) 56(84) bytes of data.
64 bytes from tomcat04.mynet (192.168.0.2): icmp_seq=1 ttl=64 time=0.096 ms
64 bytes from tomcat04.mynet (192.168.0.2): icmp_seq=2 ttl=64 time=0.075 ms
64 bytes from tomcat04.mynet (192.168.0.2): icmp_seq=3 ttl=64 time=0.063 ms
^C
--- tomcat04 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 53ms
rtt min/avg/max/mdev = 0.063/0.078/0.096/0.013 ms
[root@QK ~]# docker exec -it tomcat01 ping tomcat05
PING tomcat05 (192.168.0.3) 56(84) bytes of data.
64 bytes from tomcat05.mynet (192.168.0.3): icmp_seq=1 ttl=64 time=0.079 ms
64 bytes from tomcat05.mynet (192.168.0.3): icmp_seq=2 ttl=64 time=0.065 ms
64 bytes from tomcat05.mynet (192.168.0.3): icmp_seq=3 ttl=64 time=0.072 ms
64 bytes from tomcat05.mynet (192.168.0.3): icmp_seq=4 ttl=64 time=0.086 ms
^C
--- tomcat05 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 108ms
rtt min/avg/max/mdev = 0.065/0.075/0.086/0.011 ms
[root@QK ~]#
- docker0网络下的tomcat02无法连接mynet网络,如需连接,需要单独connect
[root@QK ~]# docker exec -it tomcat02 ping tomcat05
ping: tomcat05: Name or service not known
[root@QK ~]# docker exec -it tomcat02 ping tomcat04
ping: tomcat04: Name or service not known
[root@QK ~]#
[root@QK ~]# docker network connect mynet tomcat02
[root@QK ~]# docker network connect mynet tomcat02
[root@QK ~]# docker exec -it tomcat02 ping tomcat04
PING tomcat04 (192.168.0.2) 56(84) bytes of data.
64 bytes from tomcat04.mynet (192.168.0.2): icmp_seq=1 ttl=64 time=0.120 ms
64 bytes from tomcat04.mynet (192.168.0.2): icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from tomcat04.mynet (192.168.0.2): icmp_seq=3 ttl=64 time=0.059 ms
^C
--- tomcat04 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 25ms
rtt min/avg/max/mdev = 0.059/0.085/0.120/0.025 ms
[root@QK ~]# docker exec -it tomcat02 ping tomcat05
PING tomcat05 (192.168.0.3) 56(84) bytes of data.
64 bytes from tomcat05.mynet (192.168.0.3): icmp_seq=1 ttl=64 time=0.090 ms
64 bytes from tomcat05.mynet (192.168.0.3): icmp_seq=2 ttl=64 time=0.062 ms
64 bytes from tomcat05.mynet (192.168.0.3): icmp_seq=3 ttl=64 time=0.066 ms
64 bytes from tomcat05.mynet (192.168.0.3): icmp_seq=4 ttl=64 time=0.072 ms
^C
--- tomcat05 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 74ms
rtt min/avg/max/mdev = 0.062/0.072/0.090/0.013 ms
[root@QK ~]#