Docker网络Bridge连接方式理解

1.查看本址网络

#ip a

4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
    link/ether 02:42:96:f6:53:7a 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:96ff:fef6:537a/64 scope link
       valid_lft forever preferred_lft forever
仅存在一个docker0的虚拟网卡

2.启动一个docker容器

docker run -d --name test1 busybox /bin/sh -c "while true; do sleep 3600; done"
查看本地网络:
42: veth2dd44ca@if41: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP
    link/ether aa:49:52:31:67:86 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::a849:52ff:fe31:6786/64 scope link
       valid_lft forever preferred_lft forever
可以发现多了一个连接器

3.查看docker的network

docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
05feb2c84b41        bridge              bridge              local
bb8d749135e0        host                host                local
24ec55aeb5a2        none                null                local

4.查看bridge详情

docker network inspect 05feb2c84b41
"Containers": {
            "1b1ed3a52ddb3c9d597015fc076d074e9f46a9476ac515ca164bb44d71294df8": {
                "Name": "test1",
                "EndpointID": "b25797682de5c4e525141aa27005d6f9c4bdd96b08c5b2380b8a649d6476954c",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            }
        }
可以看到test1容器已经连接到docker bridge上了

5.查看本地bridge情况

sudo yum install bridge-utils
brctl show
bridge name     bridge id               STP enabled     interfaces
docker0         8000.024296f6537a       no              veth2dd44ca
可以看到veth2dd44ca是套接在docker0上的与test1的networknamespace的veth连接以保证网络通畅
docker exec test1 ip a

猜你喜欢

转载自blog.csdn.net/doegoo/article/details/80609481