查看虚拟机运行状态

为了演示更清晰直观,临时先移除了test2容器

docker ps

CONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES
5b567458c87cbusybox"/bin/sh -c 'while t…"14 minutes agoUp 14 minutestest1

查看虚拟机网络列表

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000    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    inet6 ::1/128 scope host       valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether 52:54:00:c9:c7:04 brd ff:ff:ff:ff:ff:ff    inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0       valid_lft 73497sec preferred_lft 73497sec    inet6 fe80::5054:ff:fec9:c704/64 scope link       valid_lft forever preferred_lft forever3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether 08:00:27:33:6b:20 brd ff:ff:ff:ff:ff:ff    inet 192.168.205.10/24 brd 192.168.205.255 scope global noprefixroute eth1       valid_lft forever preferred_lft forever    inet6 fe80::a00:27ff:fe33:6b20/64 scope link       valid_lft forever preferred_lft forever4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default    link/ether 02:42:95:c8:4d:58 brd ff:ff:ff:ff:ff:ff    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0       valid_lft forever preferred_lft forever    inet6 fe80::42:95ff:fec8:4d58/64 scope link       valid_lft forever preferred_lft forever6: veth1a9acfd@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default    link/ether 06:ab:10:71:43:7c brd ff:ff:ff:ff:ff:ff link-netnsid 0    inet6 fe80::4ab:10ff:fe71:437c/64 scope link       valid_lft forever preferred_lft forever

查看容器网络列表

docker network ls

NETWORK IDNAMEDRIVERSCOPE
f8ca7b41a380bridgebridgelocal
efb6975c8935hosthostlocal
3fa0f2e1a00bnonenulllocal

发现 NETWORK ID 为 f8ca7b41a380 的 DRIVER 就是 bridge 了。

查看特定网络波及到的容器

应用docker network inspect f8ca7b41a380查看网络连接到的容器,阐明test1连贯了bridge网络

{    "Containers": {        "5b567458c87cc1c7eff73d47a753e1171c6478f2705868f01ebd858b196a2283": {            "Name": "test1",            "EndpointID": "f701cca45627ca1f4c23c2d7619465193127d61db71beefed4a6f09e94b164e1",            "MacAddress": "02:42:ac:11:00:02",            "IPv4Address": "172.17.0.2/16",            "IPv6Address": ""        }    }}

查看test1的ip列表

docker exec test1 ip a,阐明容器test1是通过eth0@if6与虚拟主机的veth1a9acfd@if5这一pair,连贯到虚拟机的docker0,从而实现网络互通的

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000    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 forever5: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0       valid_lft forever preferred_lft forever

为了证实虚拟机上的 veth1a9acfd@if5 是连贯到 docker0 的,咱们能够yum install bridge-utils -y,而后应用brctl show命令即可发现veth1a9acfddocker0的一个接口

bridge namebridge idSTP enabledinterfaces
docker08000.024295c84d58noveth1a9acfd

桥接网络示意图