[vagrant@docker-node1 labs]$ brctl Usage: brctl [commands] commands: addbr <bridge> add bridge delbr <bridge> delete bridge addif <bridge> <device> add interface to bridge delif <bridge> <device> delete interface from bridge hairpin <bridge> <port> {on|off} turn hairpin on/off setageing <bridge> <time> set ageing time setbridgeprio <bridge> <prio> set bridge priority setfd <bridge> <time> set bridge forward delay sethello <bridge> <time> set hello time setmaxage <bridge> <time> set max message age setpathcost <bridge> <port> <cost> set path cost setportprio <bridge> <port> <prio> set port priority show [ <bridge> ] show a list of bridges showmacs <bridge> show a list of mac addrs showstp <bridge> show bridge stp info stp <bridge> {on|off} turn stp on/off [vagrant@docker-node1 labs]$
启动test2容器
1
sudo docker run -d --name test1 busybox /bin/sh -c "while true; do sleep 3600; done"
通过brctl show命令可以看到如下结果:
1 2 3 4
[vagrant@docker-node1 labs]$ brctl show bridge name bridge id STP enabled interfaces docker0 8000.02425db75bb1 no veth4de57f6 vethd347bdc
可以看到docker0和两个veth peer接口的关系
host 和 none
none
1
sudo docker run -d --name test4 --network none busybox /bin/sh -c "while true; do sleep 3600; done"
这种方式创建的容器没有ip地址,只能通过exec的方式进入
host
1
sudo docker run -d --name test5 --network host busybox /bin/sh -c "while true; do sleep 3600; done"
进入test5容器查看ip
1 2 3 4 5 6 7 8 9 10 11 12 13 14
[vagrant@docker-node1 ~]$ docker exec test5 ip a ... 37: veth9cb9ecd@if36: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue master docker0 link/ether ce:61:3e:72:57:f9 brd ff:ff:ff:ff:ff:ff inet6 fe80::cc61:3eff:fe72:57f9/64 scope link valid_lft forever preferred_lft forever ... [vagrant@docker-node1 ~]$ ip a ... 37: veth9cb9ecd@if36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP link/ether ce:61:3e:72:57:f9 brd ff:ff:ff:ff:ff:ff link-netnsid 4 inet6 fe80::cc61:3eff:fe72:57f9/64 scope link valid_lft forever preferred_lft forever ...
vagrant@docker-node2:~/etcd-v3.0.12-linux-amd64$ ./etcdctl cluster-health member 21eca106efe4caee is healthy: got healthy result from http://192.168.205.10:2379 member 8614974c83d1cc6d is healthy: got healthy result from http://192.168.205.11:2379 cluster is healthy
[vagrant@docker-node1 etcd-v3.0.12-linux-amd64]$ sudo docker network ls NETWORK ID NAME DRIVER SCOPE 22c070951371 bridge bridge local 2d13173ae2bf host host local c144a2167891 my-bridge bridge local 6d2c375cd6cd none null local [vagrant@docker-node1 etcd-v3.0.12-linux-amd64]$ sudo docker network create -d overlay demo 6f58ba8913c3e0df5ac9086f79e87cc62e57ac723d26dcb05edb7635f19103c8 [vagrant@docker-node1 etcd-v3.0.12-linux-amd64]$ sudo docker network ls NETWORK ID NAME DRIVER SCOPE 22c070951371 bridge bridge local 6f58ba8913c3 demo overlay global 2d13173ae2bf host host local c144a2167891 my-bridge bridge local 6d2c375cd6cd none null local [vagrant@docker-node1 etcd-v3.0.12-linux-amd64]$ sudo docker network inspect demo [ { "Name": "demo", "Id": "6f58ba8913c3e0df5ac9086f79e87cc62e57ac723d26dcb05edb7635f19103c8", "Created": "2019-03-03T13:03:20.535696601Z", "Scope": "global", "Driver": "overlay", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "10.0.0.0/24", "Gateway": "10.0.0.1" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": {}, "Options": {}, "Labels": {} } ]
我们会看到在node2上,这个demo的overlay network会被同步创建
1 2 3 4 5 6
vagrant@docker-node2:~$ sudo docker network ls NETWORK ID NAME DRIVER SCOPE c9947d4c3669 bridge bridge local 3d430f3338a2 demo overlay global fa5168034de1 host host local c2ca34abec2a none null local