Docker-网络管理-网络模式-bridge模式
Docker网络管理:
- 端口映射
- 网络模式
Docker-网络管理-网络模式-bridge模式
1.获取帮助
docker network create --help
Usage: docker network create [OPTIONS] NETWORK
Create a network
Options:
--attachable Enable manual container attachment
--aux-address map Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[])
--config-from string The network from which copying the configuration
--config-only Create a configuration only network
-d, --driver string Driver to manage the Network (default "bridge")
--gateway strings IPv4 or IPv6 Gateway for the master subnet
--ingress Create swarm routing-mesh network
--internal Restrict external access to the network
--ip-range strings Allocate container ip from a sub-range
--ipam-driver string IP Address Management Driver (default "default")
--ipam-opt map Set IPAM driver specific options (default map[])
--ipv6 Enable IPv6 networking
--label list Set metadata on a network
-o, --opt map Set driver specific options (default map[])
--scope string Control the network's scope
--subnet strings Subnet in CIDR format that represents a network segment
2.定制bridge方式一【默认Docker0网桥】
网桥一种设备,根据设备的物理地址来划分网段,并传输数据的,docker0就是默认的网桥,如下创建的容器,它们的ip都是从网桥【docker0】自动获取的。
1.创建桥接网络
docker network create --driver [网络类型][网络名称]
#create 创建一个网络
#--driver 指定网络类型
例:
1.创建一个名为bridge-test的bridge网络
docker network create --driver bridge bridge-test
2.查看主机网络类型
docker network ls
3.查看新建网络bridge-test的网络信息
docker network inspect bridge-test
[
{
"Name": "bridge-test",
"Id": "2d515e0d7ecd73fb56059b81342cbfcb91208ce9593c16751ee8ca08d729396d",
"Created": "2020-04-14T18:03:27.075651663+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
4.查看宿主机的网卡
ifconfig
br-2d515e0d7ecd: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
ether 02:42:c3:38:ec:76 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:5fff:fe9e:daa2 prefixlen 64 scopeid 0x20<link>
ether 02:42:5f:9e:da:a2 txqueuelen 0 (Ethernet)
RX packets 49 bytes 5932 (5.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 82 bytes 7928 (7.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.234.62 netmask 255.255.255.0 broadcast 192.168.234.255
inet6 fe80::20c:29ff:fe1e:a361 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1e:a3:61 txqueuelen 1000 (Ethernet)
RX packets 951867 bytes 1225269259 (1.2 GB)
RX errors 57 dropped 70 overruns 0 frame 0
TX packets 510581 bytes 180833416 (180.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 3539 bytes 306743 (306.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3539 bytes 306743 (306.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth2556e5a: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::4cc0:bdff:fe42:bfc1 prefixlen 64 scopeid 0x20<link>
ether 4e:c0:bd:42:bf:c1 txqueuelen 0 (Ethernet)
RX packets 49 bytes 6618 (6.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 108 bytes 10872 (10.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth2ac7e58: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::60b4:f9ff:fe5d:6bbf prefixlen 64 scopeid 0x20<link>
ether 62:b4:f9:5d:6b:bf txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 52 bytes 5444 (5.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth330c413: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::9c08:b7ff:fed3:7a65 prefixlen 64 scopeid 0x20<link>
ether 9e:08:b7:d3:7a:65 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 5927 (5.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth353b303: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::4410:a5ff:fef6:61a2 prefixlen 64 scopeid 0x20<link>
ether 46:10:a5:f6:61:a2 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 63 bytes 6368 (6.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth619ddad: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::c884:10ff:fef9:8715 prefixlen 64 scopeid 0x20<link>
ether ca:84:10:f9:87:15 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 57 bytes 5885 (5.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth666aefd: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::34aa:38ff:fec8:3785 prefixlen 64 scopeid 0x20<link>
ether 36:aa:38:c8:37:85 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 57 bytes 5885 (5.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth8d2f186: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::5c5d:ecff:fecd:b479 prefixlen 64 scopeid 0x20<link>
ether 5e:5d:ec:cd:b4:79 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 56 bytes 5815 (5.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth9b13e13: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::d8bf:efff:fe0c:fc5a prefixlen 64 scopeid 0x20<link>
ether da:bf:ef:0c:fc:5a txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 57 bytes 5885 (5.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vethbfd3ef0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::2c01:e7ff:fe21:493e prefixlen 64 scopeid 0x20<link>
ether 2e:01:e7:21:49:3e txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 71 bytes 7139 (7.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vethca68399: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::2ce8:82ff:fe97:4f75 prefixlen 64 scopeid 0x20<link>
ether 2e:e8:82:97:4f:75 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 52 bytes 5444 (5.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
多出了一张br-2d515e0d7ecd网卡
br-2d515e0d7ecd: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
ether 02:42:c3:38:ec:76 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.自定义网段与网关
docker network create --driver [网络类型] --gateway [网关] --subnet [子网] [网络名称]
#--gateway strings IPv4 or IPv6 Gateway for the master subnet
# 主子网的IPv4或IPv6网关。
#--subnet strings Subnet in CIDR format that represents a network segment
# 表示网络段的CIDR格式的子网。
上述创建桥接网络的时候的网络信息:
docker network inspect bridge-test
[
{
"Name": "bridge-test",
"Id": "2d515e0d7ecd73fb56059b81342cbfcb91208ce9593c16751ee8ca08d729396d",
"Created": "2020-04-14T18:03:27.075651663+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
对应的网关和子网信息为:
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16", # 子网信息
"Gateway": "172.18.0.1" # 网关
}
]
},
例:
1.创建自定义名为bridge-test1的网关为:172.66.0.1,子网为:172.66.0.0/16,bridge模式的网络
docker network create --driver bridge --gateway 172.66.0.1 --subnet 172.66.0.0/16 bridge-test1
创建成功返回对应的sha256码:
0638f8a6598bd0dadfe98c07735e0208444e2315855c19a70121d249fa08965b
2.查看网络列表
docker network ls
NETWORK ID NAME DRIVER SCOPE
8e8b24ce3a07 bridge bridge local
2d515e0d7ecd bridge-test bridge local
0638f8a6598b bridge-test1 bridge local
59f27d5cdcbc host host local
26dd69b9aac8 none null local
3.查看自定义网络bridge-test1的网关与网络信息
docker network inspect bridge-test1
[
{
"Name": "bridge-test1",
"Id": "0638f8a6598bd0dadfe98c07735e0208444e2315855c19a70121d249fa08965b",
"Created": "2020-04-14T18:20:25.712472704+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.66.0.0/16",
"Gateway": "172.66.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
4.查看宿主机的网卡
ifconfig
br-0638f8a6598b: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.66.0.1 netmask 255.255.0.0 broadcast 172.66.255.255
ether 02:42:ec:f7:89:73 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
br-2d515e0d7ecd: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
ether 02:42:c3:38:ec:76 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:5fff:fe9e:daa2 prefixlen 64 scopeid 0x20<link>
ether 02:42:5f:9e:da:a2 txqueuelen 0 (Ethernet)
RX packets 49 bytes 5932 (5.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 83 bytes 8015 (8.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.234.62 netmask 255.255.255.0 broadcast 192.168.234.255
inet6 fe80::20c:29ff:fe1e:a361 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1e:a3:61 txqueuelen 1000 (Ethernet)
RX packets 952114 bytes 1225287595 (1.2 GB)
RX errors 57 dropped 70 overruns 0 frame 0
TX packets 510667 bytes 180850219 (180.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 3572 bytes 309420 (309.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3572 bytes 309420 (309.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth2556e5a: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::4cc0:bdff:fe42:bfc1 prefixlen 64 scopeid 0x20<link>
ether 4e:c0:bd:42:bf:c1 txqueuelen 0 (Ethernet)
RX packets 49 bytes 6618 (6.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 109 bytes 10959 (10.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth2ac7e58: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::60b4:f9ff:fe5d:6bbf prefixlen 64 scopeid 0x20<link>
ether 62:b4:f9:5d:6b:bf txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 54 bytes 5601 (5.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth330c413: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::9c08:b7ff:fed3:7a65 prefixlen 64 scopeid 0x20<link>
ether 9e:08:b7:d3:7a:65 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 59 bytes 6014 (6.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth353b303: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::4410:a5ff:fef6:61a2 prefixlen 64 scopeid 0x20<link>
ether 46:10:a5:f6:61:a2 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 64 bytes 6455 (6.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth619ddad: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::c884:10ff:fef9:8715 prefixlen 64 scopeid 0x20<link>
ether ca:84:10:f9:87:15 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 5972 (5.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth666aefd: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::34aa:38ff:fec8:3785 prefixlen 64 scopeid 0x20<link>
ether 36:aa:38:c8:37:85 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 5972 (5.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth8d2f186: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::5c5d:ecff:fecd:b479 prefixlen 64 scopeid 0x20<link>
ether 5e:5d:ec:cd:b4:79 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 5972 (5.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth9b13e13: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::d8bf:efff:fe0c:fc5a prefixlen 64 scopeid 0x20<link>
ether da:bf:ef:0c:fc:5a txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 5972 (5.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vethbfd3ef0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::2c01:e7ff:fe21:493e prefixlen 64 scopeid 0x20<link>
ether 2e:01:e7:21:49:3e txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 73 bytes 7333 (7.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vethca68399: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::2ce8:82ff:fe97:4f75 prefixlen 64 scopeid 0x20<link>
ether 2e:e8:82:97:4f:75 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 55 bytes 5708 (5.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
多出了一张br-0638f8a6598b网卡
br-0638f8a6598b: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.66.0.1 netmask 255.255.0.0 broadcast 172.66.255.255
ether 02:42:ec:f7:89:73 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3.在自定义网络中启动容器
docker run --net=[网络名称] -itd --name=[容器名称][镜像名称]
在上述创建的两个bridge模式的网络中:
查看容器信息:
docker network inspect bridge-test | grep -Po 'Containers[" :]+\K[^"]+'
docker network inspect bridge-test1 | grep -Po 'Containers[" :]+\K[^"]+'
对应命令:
docker network inspect bridge-test
docker network inspect bridge-test1
中取出json的"Containers"的键对应的值:
bridge-test 和 bridge-test1的容器都是空的。
1.创建启动1个使用网络为【bridge-test1】名为【nginx-wyf-bridge-1】的容器
docker run --net=bridge-test1 -itd --name nginx-wyf-bridge-1 nginx
2.查看运行的容器和容器信息
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ca0dbed742c nginx "nginx -g 'daemon of…" About a minute ago Up About a minute 80/tcp nginx-wyf-bridge-1
docker inspect 2ca0dbed742c
[
{
"Id": "2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29",
"Created": "2020-04-15T01:42:32.64388843Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 4364,
"ExitCode": 0,
"Error": "",
"StartedAt": "2020-04-15T01:42:33.696309008Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291",
"ResolvConfPath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/hostname",
"HostsPath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/hosts",
"LogPath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29-json.log",
"Name": "/nginx-wyf-bridge-1",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "bridge-test1",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Capabilities": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4-init/diff:/var/lib/docker/overlay2/9426eaa48adadb9db8631c15552afd0bf8b5c11e5c8f7edafb1d69d039b649e4/diff:/var/lib/docker/overlay2/0899a3735095820f73d6e45850975cc9ffcbc0c3d7b364bf2b138fb71278e507/diff:/var/lib/docker/overlay2/886d6705a472b017f4a5eb68e6966b2303180d542f6955f4c2f4eee81092c095/diff",
"MergedDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4/merged",
"UpperDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4/diff",
"WorkDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "2ca0dbed742c",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.17.9",
"NJS_VERSION=0.3.9",
"PKG_RELEASE=1~buster"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGTERM"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "cb9bedd6c0b6f17f608ecd788101bbc1dc89dc421fcc9ae3531af3bf8c199d4c",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/cb9bedd6c0b6",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"bridge-test1": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"2ca0dbed742c"
],
"NetworkID": "0638f8a6598bd0dadfe98c07735e0208444e2315855c19a70121d249fa08965b",
"EndpointID": "3d9ee47114aabde7af56e00a80d776918dc1313deef62bd195020f2f9fcb535d",
"Gateway": "172.66.0.1",
"IPAddress": "172.66.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:42:00:02",
"DriverOpts": null
}
}
}
}
]
在容器 nginx-wyf-bridge-1中的网络出现了bridge-test1的信息:
"Networks": {
"bridge-test1": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"2ca0dbed742c"
],
"NetworkID": "0638f8a6598bd0dadfe98c07735e0208444e2315855c19a70121d249fa08965b",
"EndpointID": "3d9ee47114aabde7af56e00a80d776918dc1313deef62bd195020f2f9fcb535d",
"Gateway": "172.66.0.1",
"IPAddress": "172.66.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:42:00:02",
"DriverOpts": null
}
}
3.查看网络信息
docker network inspect bridge-test
[
{
"Name": "bridge-test",
"Id": "2d515e0d7ecd73fb56059b81342cbfcb91208ce9593c16751ee8ca08d729396d",
"Created": "2020-04-14T18:03:27.075651663+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
因为没有在bridge-test中启动容器,“Containers”: {},容器依然是空的
docker network inspect bridge-test1
[
{
"Name": "bridge-test1",
"Id": "0638f8a6598bd0dadfe98c07735e0208444e2315855c19a70121d249fa08965b",
"Created": "2020-04-14T18:20:25.712472704+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.66.0.0/16",
"Gateway": "172.66.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29": {
"Name": "nginx-wyf-bridge-1",
"EndpointID": "3d9ee47114aabde7af56e00a80d776918dc1313deef62bd195020f2f9fcb535d",
"MacAddress": "02:42:ac:42:00:02",
"IPv4Address": "172.66.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
bridge-test1中有了容器nginx-wyf-bridge-1的信息
"Containers": {
"2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29": {
"Name": "nginx-wyf-bridge-1",
"EndpointID": "3d9ee47114aabde7af56e00a80d776918dc1313deef62bd195020f2f9fcb535d",
"MacAddress": "02:42:ac:42:00:02",
"IPv4Address": "172.66.0.2/16",
"IPv6Address": ""
}
},
4.创建启动1个使用网络为【bridge-test】名为【nginx-wyf-bridge-2】的容器
docker run --net=bridge-test -itd --name nginx-wyf-bridge-2 nginx && docker ps && docker inspect nginx-wyf-bridge-2
57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57ab1e2a80ed nginx "nginx -g 'daemon of…" 1 second ago Up Less than a second 80/tcp nginx-wyf-bridge-2
2ca0dbed742c nginx "nginx -g 'daemon of…" 5 minutes ago Up 5 minutes 80/tcp nginx-wyf-bridge-1
[
{
"Id": "57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712",
"Created": "2020-04-15T01:47:48.93949876Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 4558,
"ExitCode": 0,
"Error": "",
"StartedAt": "2020-04-15T01:47:49.757267457Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291",
"ResolvConfPath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/hostname",
"HostsPath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/hosts",
"LogPath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712-json.log",
"Name": "/nginx-wyf-bridge-2",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "bridge-test",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Capabilities": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9-init/diff:/var/lib/docker/overlay2/9426eaa48adadb9db8631c15552afd0bf8b5c11e5c8f7edafb1d69d039b649e4/diff:/var/lib/docker/overlay2/0899a3735095820f73d6e45850975cc9ffcbc0c3d7b364bf2b138fb71278e507/diff:/var/lib/docker/overlay2/886d6705a472b017f4a5eb68e6966b2303180d542f6955f4c2f4eee81092c095/diff",
"MergedDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9/merged",
"UpperDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9/diff",
"WorkDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "57ab1e2a80ed",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.17.9",
"NJS_VERSION=0.3.9",
"PKG_RELEASE=1~buster"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGTERM"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "76c7aec0e9ee9fcc7d49918bf6554c32a85e26160615ac11c87fa64c569f0de0",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/76c7aec0e9ee",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"bridge-test": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"57ab1e2a80ed"
],
"NetworkID": "2d515e0d7ecd73fb56059b81342cbfcb91208ce9593c16751ee8ca08d729396d",
"EndpointID": "0b3c5c5716d4f82dbb3cb99fd695d7819256cb1886759f927cb5a074d83f4ec4",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": null
}
}
}
}
]
此时的容器nginx-wyf-bridge-2中已经有了bridge-test的网络信息
"Networks": {
"bridge-test": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"57ab1e2a80ed"
],
"NetworkID": "2d515e0d7ecd73fb56059b81342cbfcb91208ce9593c16751ee8ca08d729396d",
"EndpointID": "0b3c5c5716d4f82dbb3cb99fd695d7819256cb1886759f927cb5a074d83f4ec4",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": null
}
}
}
3.查看网络bridge-test信息
docker network inspect bridge-test
[
{
"Name": "bridge-test",
"Id": "2d515e0d7ecd73fb56059b81342cbfcb91208ce9593c16751ee8ca08d729396d",
"Created": "2020-04-14T18:03:27.075651663+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712": {
"Name": "nginx-wyf-bridge-2",
"EndpointID": "0b3c5c5716d4f82dbb3cb99fd695d7819256cb1886759f927cb5a074d83f4ec4",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
此时的bridge-test中启动容器nginx-wyf-bridge-2,bridge-test中也有了nginx-wyf-bridge-2的信息
"Containers": {
"57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712": {
"Name": "nginx-wyf-bridge-2",
"EndpointID": "0b3c5c5716d4f82dbb3cb99fd695d7819256cb1886759f927cb5a074d83f4ec4",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
}
},
注意:1. 使用默认的桥接模型创建的容器是可以直接联网的。
2. 使用自定义的桥接模型创建的容器不可以直接联网,但是可以通过端口映射来实现联网。
也就意味着:
nginx-wyf-bridge-2和nginx-wyf-bridge-1不能联网, nginx-wyf-bridge-2采用的是自定义的bridge网络bridge-test,nginx-wyf-bridge-1采用的是自定义的bridge网络bridge-test1,所以需要通过端口映射来实现联网。
4.容器断开网络
docker network disconnect [网络名][容器名]
例:
1.断开容器nginx-wyf-bridge-2网络bridge-test
docker network disconnect bridge-test nginx-wyf-bridge-2
2.查看运行的容器
docke ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57ab1e2a80ed nginx "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes nginx-wyf-bridge-2
2ca0dbed742c nginx "nginx -g 'daemon of…" 9 minutes ago Up 9 minutes 80/tcp nginx-wyf-bridge-1
发现nginx-wyf-bridge-2的网络消失
3.断开容器nginx-wyf-bridge-1网络bridge-test1
docker network disconnect bridge-test1 nginx-wyf-bridge-1
4.查看运行的容器
docke ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57ab1e2a80ed nginx "nginx -g 'daemon of…" 7 minutes ago Up 7 minutes nginx-wyf-bridge-2
2ca0dbed742c nginx "nginx -g 'daemon of…" 12 minutes ago Up 12 minutes nginx-wyf-bridge-1
发现nginx-wyf-bridge-1的网络也消失了
5.分别查看网络bridge-test bridge-test1的网络
docker network inspect bridge-test | grep -Po 'Containers[" :]+\K[^"]+'
docker network inspect bridge-test1 | grep -Po 'Containers[" :]+\K[^"]+'
发现网络bridge-test、bridge-test1中的容器的信息都没有了
6.分别查看两个容器nginx-wyf-bridge-1、nginx-wyf-bridge-2的信息
docker inspect nginx-wyf-bridge-1
docker inspect nginx-wyf-bridge-2
[
{
"Id": "2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29",
"Created": "2020-04-15T01:42:32.64388843Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 4364,
"ExitCode": 0,
"Error": "",
"StartedAt": "2020-04-15T01:42:33.696309008Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291",
"ResolvConfPath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/hostname",
"HostsPath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/hosts",
"LogPath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29-json.log",
"Name": "/nginx-wyf-bridge-1",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "bridge-test1",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Capabilities": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4-init/diff:/var/lib/docker/overlay2/9426eaa48adadb9db8631c15552afd0bf8b5c11e5c8f7edafb1d69d039b649e4/diff:/var/lib/docker/overlay2/0899a3735095820f73d6e45850975cc9ffcbc0c3d7b364bf2b138fb71278e507/diff:/var/lib/docker/overlay2/886d6705a472b017f4a5eb68e6966b2303180d542f6955f4c2f4eee81092c095/diff",
"MergedDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4/merged",
"UpperDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4/diff",
"WorkDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "2ca0dbed742c",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.17.9",
"NJS_VERSION=0.3.9",
"PKG_RELEASE=1~buster"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGTERM"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "cb9bedd6c0b6f17f608ecd788101bbc1dc89dc421fcc9ae3531af3bf8c199d4c",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/cb9bedd6c0b6",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {}
}
}
]
nginx-wyf-bridge-1的 “Networks”: {},没有了网络信息
[
{
"Id": "57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712",
"Created": "2020-04-15T01:47:48.93949876Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 4558,
"ExitCode": 0,
"Error": "",
"StartedAt": "2020-04-15T01:47:49.757267457Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291",
"ResolvConfPath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/hostname",
"HostsPath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/hosts",
"LogPath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712-json.log",
"Name": "/nginx-wyf-bridge-2",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "bridge-test",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Capabilities": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9-init/diff:/var/lib/docker/overlay2/9426eaa48adadb9db8631c15552afd0bf8b5c11e5c8f7edafb1d69d039b649e4/diff:/var/lib/docker/overlay2/0899a3735095820f73d6e45850975cc9ffcbc0c3d7b364bf2b138fb71278e507/diff:/var/lib/docker/overlay2/886d6705a472b017f4a5eb68e6966b2303180d542f6955f4c2f4eee81092c095/diff",
"MergedDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9/merged",
"UpperDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9/diff",
"WorkDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "57ab1e2a80ed",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.17.9",
"NJS_VERSION=0.3.9",
"PKG_RELEASE=1~buster"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGTERM"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "76c7aec0e9ee9fcc7d49918bf6554c32a85e26160615ac11c87fa64c569f0de0",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/76c7aec0e9ee",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {}
}
}
]
nginx-wyf-bridge-2的 “Networks”: {},没有了网络信息
5.容器连接网络
docker network connect [网络名][容器名]
例:
1.查看运行的容器
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57ab1e2a80ed nginx "nginx -g 'daemon of…" 18 minutes ago Up 18 minutes nginx-wyf-bridge-2
2ca0dbed742c nginx "nginx -g 'daemon of…" 24 minutes ago Up 24 minutes nginx-wyf-bridge-1
运行的容器nginx-wyf-bridge-1和nginx-wyf-bridge-2都没有网络信息。
2.将容器nginx-wyf-bridge-1连接到bridge-test1网络,并查看运行的容器变化
docker network connect bridge-test1 nginx-wyf-bridge-1 && docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57ab1e2a80ed nginx "nginx -g 'daemon of…" 22 minutes ago Up 21 minutes nginx-wyf-bridge-2
2ca0dbed742c nginx "nginx -g 'daemon of…" 27 minutes ago Up 27 minutes 80/tcp nginx-wyf-bridge-1
容器nginx-wyf-bridge-1有了网络信息
3.将容器nginx-wyf-bridge-2连接到bridge-test网络,并查看运行的容器变化
docker network connect bridge-test nginx-wyf-bridge-2 && docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
57ab1e2a80ed nginx "nginx -g 'daemon of…" 24 minutes ago Up 24 minutes 80/tcp nginx-wyf-bridge-2
2ca0dbed742c nginx "nginx -g 'daemon of…" 30 minutes ago Up 30 minutes 80/tcp nginx-wyf-bridge-1
容器nginx-wyf-bridge-2也有了网络信息
4.查看网络bridge-test和bridge-test1的容器信息
docker network inspect bridge-test
docker network inspect bridge-test1
5.查看容器是否含有对应的网络信息
docker inspect nginx-wyf-bridge-1
[
{
"Id": "2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29",
"Created": "2020-04-15T01:42:32.64388843Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 4364,
"ExitCode": 0,
"Error": "",
"StartedAt": "2020-04-15T01:42:33.696309008Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291",
"ResolvConfPath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/hostname",
"HostsPath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/hosts",
"LogPath": "/var/lib/docker/containers/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29-json.log",
"Name": "/nginx-wyf-bridge-1",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "bridge-test1",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Capabilities": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4-init/diff:/var/lib/docker/overlay2/9426eaa48adadb9db8631c15552afd0bf8b5c11e5c8f7edafb1d69d039b649e4/diff:/var/lib/docker/overlay2/0899a3735095820f73d6e45850975cc9ffcbc0c3d7b364bf2b138fb71278e507/diff:/var/lib/docker/overlay2/886d6705a472b017f4a5eb68e6966b2303180d542f6955f4c2f4eee81092c095/diff",
"MergedDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4/merged",
"UpperDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4/diff",
"WorkDir": "/var/lib/docker/overlay2/c63b9df9a361f2becb66b486a21b1c7479224063a56a9ab1118a2aced6f359a4/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "2ca0dbed742c",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.17.9",
"NJS_VERSION=0.3.9",
"PKG_RELEASE=1~buster"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGTERM"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "cb9bedd6c0b6f17f608ecd788101bbc1dc89dc421fcc9ae3531af3bf8c199d4c",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/cb9bedd6c0b6",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"bridge-test1": {
"IPAMConfig": {},
"Links": null,
"Aliases": [
"2ca0dbed742c"
],
"NetworkID": "0638f8a6598bd0dadfe98c07735e0208444e2315855c19a70121d249fa08965b",
"EndpointID": "4ed1b4eec88fe9872fc8d405ff3aec451efcc25b9e8cc492c4a016d627f9d02d",
"Gateway": "172.66.0.1",
"IPAddress": "172.66.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:42:00:02",
"DriverOpts": {}
}
}
}
}
]
nginx-wyf-bridge-1容器中有了bridge-test1的网络信息
"Networks": {
"bridge-test1": {
"IPAMConfig": {},
"Links": null,
"Aliases": [
"2ca0dbed742c"
],
"NetworkID": "0638f8a6598bd0dadfe98c07735e0208444e2315855c19a70121d249fa08965b",
"EndpointID": "4ed1b4eec88fe9872fc8d405ff3aec451efcc25b9e8cc492c4a016d627f9d02d",
"Gateway": "172.66.0.1",
"IPAddress": "172.66.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:42:00:02",
"DriverOpts": {}
}
}
docker inspect nginx-wyf-bridge-2
[
{
"Id": "57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712",
"Created": "2020-04-15T01:47:48.93949876Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 4558,
"ExitCode": 0,
"Error": "",
"StartedAt": "2020-04-15T01:47:49.757267457Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291",
"ResolvConfPath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/hostname",
"HostsPath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/hosts",
"LogPath": "/var/lib/docker/containers/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712-json.log",
"Name": "/nginx-wyf-bridge-2",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "bridge-test",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Capabilities": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9-init/diff:/var/lib/docker/overlay2/9426eaa48adadb9db8631c15552afd0bf8b5c11e5c8f7edafb1d69d039b649e4/diff:/var/lib/docker/overlay2/0899a3735095820f73d6e45850975cc9ffcbc0c3d7b364bf2b138fb71278e507/diff:/var/lib/docker/overlay2/886d6705a472b017f4a5eb68e6966b2303180d542f6955f4c2f4eee81092c095/diff",
"MergedDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9/merged",
"UpperDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9/diff",
"WorkDir": "/var/lib/docker/overlay2/6aa84fe3cd0b8fddcb088be117297720adc3d736cbebb78b4aa4a3deccf681a9/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "57ab1e2a80ed",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.17.9",
"NJS_VERSION=0.3.9",
"PKG_RELEASE=1~buster"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGTERM"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "76c7aec0e9ee9fcc7d49918bf6554c32a85e26160615ac11c87fa64c569f0de0",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/76c7aec0e9ee",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"bridge-test": {
"IPAMConfig": {},
"Links": null,
"Aliases": [
"57ab1e2a80ed"
],
"NetworkID": "2d515e0d7ecd73fb56059b81342cbfcb91208ce9593c16751ee8ca08d729396d",
"EndpointID": "c4bfbc6829be8e5cd4d942902ad83da63c671ab7f75d2dfd4ff11f1098168c34",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": {}
}
}
}
}
]
nginx-wyf-bridge-2容器中有了bridge-test的网络信息
"Networks": {
"bridge-test": {
"IPAMConfig": {},
"Links": null,
"Aliases": [
"57ab1e2a80ed"
],
"NetworkID": "2d515e0d7ecd73fb56059b81342cbfcb91208ce9593c16751ee8ca08d729396d",
"EndpointID": "c4bfbc6829be8e5cd4d942902ad83da63c671ab7f75d2dfd4ff11f1098168c34",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": {}
}
}
3.定制bridge方式二【定制Docker网桥】
网桥一种设备,根据设备的物理地址来划分网段,并传输数据的,docker0就是默认的网桥,如下创建的容器,通过自定义一个br0网桥,然后启动的容器就用自定义的网桥获取。
需求:
定制docker网桥br0
分析:
1、网桥的创建
2、docker服务使用新网桥
3、测试
知识点:
1.bridge-utils软件的brctl工具可以实现创建网桥
2.配置/etc/default/docker文件
3.编辑systemctl的配置文件使用该docker文件
4.重载systemctl配置
5.重启docker
6.创建容器,查看容器信息即可
1.网桥环境部署
1.网桥软件部署
ubuntu默认不自带网桥管理工具,需要自行安装网桥软件
1.安装网桥管理软件
sudo apt install -y bridge-utils
2.查看网卡
brctl show
bridge name bridge id STP enabled interfaces
br-0638f8a6598b 8000.0242da3e7e61 no veth1958f6e
br-2d515e0d7ecd 8000.0242f4770011 no veth7af2da6
docker0 8000.0242331f861f no
标题 | 说明 |
---|---|
bridge name | 网卡名称 |
bridge id | 网卡id |
STP enabled | STP是否启用 |
interfaces | 物理接口 |
2.创建网桥
1.创建网桥br0
sudo brctl addbr br0
2.查看网卡
brctl show
bridge name bridge id STP enabled interfaces
br-0638f8a6598b 8000.0242da3e7e61 no veth1958f6e
br-2d515e0d7ecd 8000.0242f4770011 no veth7af2da6
br0 8000.000000000000 no
docker0 8000.0242331f861f no
3.设置网桥网段
1.给网桥br0设置网段
网络地址是192.168.66.1,掩码:255.255.255.0
sudo ifconfig br0 192.168.66.1 netmask 255.255.255.0
2.查看网卡信息
ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.66.1 netmask 255.255.255.0 broadcast 192.168.66.255
inet6 fe80::b027:76ff:fe31:d6f6 prefixlen 64 scopeid 0x20<link>
ether b2:27:76:31:d6:f6 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 41 bytes 5473 (5.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
br-0638f8a6598b: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.66.0.1 netmask 255.255.0.0 broadcast 172.66.255.255
inet6 fe80::42:daff:fe3e:7e61 prefixlen 64 scopeid 0x20<link>
ether 02:42:da:3e:7e:61 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 49 bytes 6099 (6.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
br-2d515e0d7ecd: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
inet6 fe80::42:f4ff:fe77:11 prefixlen 64 scopeid 0x20<link>
ether 02:42:f4:77:00:11 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 45 bytes 5748 (5.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:33:1f:86:1f txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.234.62 netmask 255.255.255.0 broadcast 192.168.234.255
inet6 fe80::20c:29ff:fe1e:a361 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1e:a3:61 txqueuelen 1000 (Ethernet)
RX packets 6543 bytes 6184327 (6.1 MB)
RX errors 4 dropped 4 overruns 0 frame 0
TX packets 3063 bytes 358676 (358.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 407 bytes 33811 (33.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 407 bytes 33811 (33.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth1958f6e: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::2880:dfff:fe0d:bdf4 prefixlen 64 scopeid 0x20<link>
ether 2a:80:df:0d:bd:f4 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 40 bytes 4468 (4.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
veth7af2da6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::c823:dcff:fe0e:10f1 prefixlen 64 scopeid 0x20<link>
ether ca:23:dc:0e:10:f1 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 40 bytes 4468 (4.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2.Docker配置网桥
1.配置docker文件
1.备份源文件
sudo cp /etc/default/docker /etc/default/docker.backup
2.在/etc/default/docker末尾追加DOCKER_OPTS="-b=br0"
sudo sh -c 'echo DOCKER_OPTS=\"-b=br0\" >> /etc/default/docker'
3.确认
cat /etc/default/docker
2.systemctl使用docker文件
1.创建服务依赖文件
创建目录
sudo mkdir -p /etc/systemd/system/docker.service.d
创建文件
sudo vim /etc/systemd/system/docker.service.d/Using_Environment_File.conf
添加内容
[Service]
EnvironmentFile=-/etc/default/docker
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
2.重载服务配置文件
systemctl daemon-reload
3.重启docker
重启前效果
ps aux | grep docker
root 1587 0.0 2.2 2306392 90452 ? Ssl 09:30 0:04 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 4347 0.0 0.1 107696 5236 ? Sl 09:42 0:00 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/2ca0dbed742c428a989f4c955840a6608de4839092314c226751d6033d0f9d29 -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd -runtime-root /var/run/docker/runtime-runc
root 4532 0.0 0.1 109104 5788 ? Sl 09:47 0:00 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/57ab1e2a80ed797bf6e77af22926463aaa03711c746f26d710058471931b9712 -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd -runtime-root /var/run/docker/runtime-runc
wyf 5840 0.0 0.0 21532 1040 pts/0 S+ 11:28 0:00 grep --color=auto docker
root 1587 0.0 2.2 2306392 90452 ? Ssl 09:30 0:04 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
重启
systemctl restart docker
重启后效果
ps aux |grep docker
root 5951 6.0 2.1 2011464 85092 ? Ssl 11:30 0:00 /usr/bin/dockerd -H fd:// -b=br0
wyf 6173 0.0 0.0 21532 1092 pts/0 R+ 11:31 0:00 grep --color=auto docker
root 5951 6.0 2.1 2011464 85092 ? Ssl 11:30 0:00 /usr/bin/dockerd -H fd:// -b=br0
3.容器测试
1.创建默认网络的容器
docker run -itd --name nginx-wyf-bridge-3 nginx && docker ps
a5142858cd2ebd4b3374c693e74509661f3d7d61c0dbd2e1a1fd5476de3f4383
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a5142858cd2e nginx "nginx -g 'daemon of…" 1 second ago Up Less than a second 80/tcp nginx-wyf-bridge-3
2.查看容器nginx-wyf-bridge-3详细信息
docker inspect a5142858cd2e
[
{
"Id": "a5142858cd2ebd4b3374c693e74509661f3d7d61c0dbd2e1a1fd5476de3f4383",
"Created": "2020-04-15T03:36:04.564052202Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 6238,
"ExitCode": 0,
"Error": "",
"StartedAt": "2020-04-15T03:36:05.290174243Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291",
"ResolvConfPath": "/var/lib/docker/containers/a5142858cd2ebd4b3374c693e74509661f3d7d61c0dbd2e1a1fd5476de3f4383/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/a5142858cd2ebd4b3374c693e74509661f3d7d61c0dbd2e1a1fd5476de3f4383/hostname",
"HostsPath": "/var/lib/docker/containers/a5142858cd2ebd4b3374c693e74509661f3d7d61c0dbd2e1a1fd5476de3f4383/hosts",
"LogPath": "/var/lib/docker/containers/a5142858cd2ebd4b3374c693e74509661f3d7d61c0dbd2e1a1fd5476de3f4383/a5142858cd2ebd4b3374c693e74509661f3d7d61c0dbd2e1a1fd5476de3f4383-json.log",
"Name": "/nginx-wyf-bridge-3",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "docker-default",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "default",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Capabilities": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/04f5de523730a5f18c5225570bbbf99fa2707b8460c62c3874beac63ee3286cc-init/diff:/var/lib/docker/overlay2/9426eaa48adadb9db8631c15552afd0bf8b5c11e5c8f7edafb1d69d039b649e4/diff:/var/lib/docker/overlay2/0899a3735095820f73d6e45850975cc9ffcbc0c3d7b364bf2b138fb71278e507/diff:/var/lib/docker/overlay2/886d6705a472b017f4a5eb68e6966b2303180d542f6955f4c2f4eee81092c095/diff",
"MergedDir": "/var/lib/docker/overlay2/04f5de523730a5f18c5225570bbbf99fa2707b8460c62c3874beac63ee3286cc/merged",
"UpperDir": "/var/lib/docker/overlay2/04f5de523730a5f18c5225570bbbf99fa2707b8460c62c3874beac63ee3286cc/diff",
"WorkDir": "/var/lib/docker/overlay2/04f5de523730a5f18c5225570bbbf99fa2707b8460c62c3874beac63ee3286cc/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "a5142858cd2e",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {}
},
"Tty": true,
"OpenStdin": true,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.17.9",
"NJS_VERSION=0.3.9",
"PKG_RELEASE=1~buster"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGTERM"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "2294f00df4da99a22c16b0954f3dd632b75840f2a90281c96af2e52eb70f95ad",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/2294f00df4da",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "4835b2f3fad894c13b96ba79cf3016e9e0ff835249541efd4aecd041eecc4d5e",
"Gateway": "192.168.66.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "192.168.66.2",
"IPPrefixLen": 24,
"IPv6Gateway": "",
"MacAddress": "02:42:c0:a8:42:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "3f3e570c3cf869d5cd11d087a68df6de107696730b2e07e0a2ec164cc1588bf0",
"EndpointID": "4835b2f3fad894c13b96ba79cf3016e9e0ff835249541efd4aecd041eecc4d5e",
"Gateway": "192.168.66.1",
"IPAddress": "192.168.66.2",
"IPPrefixLen": 24,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:c0:a8:42:02",
"DriverOpts": null
}
}
}
}
]
网络配置信息:
"NetworkSettings": {
"Bridge": "",
"SandboxID": "2294f00df4da99a22c16b0954f3dd632b75840f2a90281c96af2e52eb70f95ad",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/2294f00df4da",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "4835b2f3fad894c13b96ba79cf3016e9e0ff835249541efd4aecd041eecc4d5e",
"Gateway": "192.168.66.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "192.168.66.2",
"IPPrefixLen": 24,
"IPv6Gateway": "",
"MacAddress": "02:42:c0:a8:42:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "3f3e570c3cf869d5cd11d087a68df6de107696730b2e07e0a2ec164cc1588bf0",
"EndpointID": "4835b2f3fad894c13b96ba79cf3016e9e0ff835249541efd4aecd041eecc4d5e",
"Gateway": "192.168.66.1",
"IPAddress": "192.168.66.2",
"IPPrefixLen": 24,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:c0:a8:42:02",
"DriverOpts": null
}
}
}
使用了自定义网桥br0的信息:
"Gateway": "192.168.66.1",
"IPAddress": "192.168.66.2",
3.查看下网络
docker network ls
NETWORK ID NAME DRIVER SCOPE
3f3e570c3cf8 bridge bridge local
2d515e0d7ecd bridge-test bridge local
0638f8a6598b bridge-test1 bridge local
59f27d5cdcbc host host local
26dd69b9aac8 none null local
4.查看网络下的容器
docker network inspect bridge
[
{
"Name": "bridge",
"Id": "3f3e570c3cf869d5cd11d087a68df6de107696730b2e07e0a2ec164cc1588bf0",
"Created": "2020-04-15T11:30:55.682248492+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "192.168.66.0/24",
"Gateway": "192.168.66.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"a5142858cd2ebd4b3374c693e74509661f3d7d61c0dbd2e1a1fd5476de3f4383": {
"Name": "nginx-wyf-bridge-3",
"EndpointID": "4835b2f3fad894c13b96ba79cf3016e9e0ff835249541efd4aecd041eecc4d5e",
"MacAddress": "02:42:c0:a8:42:02",
"IPv4Address": "192.168.66.2/24",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "br0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
网络下的容器信息:
"Name": "bridge",
"Driver": "bridge",
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "192.168.66.0/24",
"Gateway": "192.168.66.1"
}
]
},
"Containers": {
"a5142858cd2ebd4b3374c693e74509661f3d7d61c0dbd2e1a1fd5476de3f4383": {
"Name": "nginx-wyf-bridge-3",
"EndpointID": "4835b2f3fad894c13b96ba79cf3016e9e0ff835249541efd4aecd041eecc4d5e",
"MacAddress": "02:42:c0:a8:42:02",
"IPv4Address": "192.168.66.2/24",
"IPv6Address": ""
}
},
更多请参考:
https://docs.docker.com/engine/reference/commandline/docker/
或:
https://docker-doc.readthedocs.io/zh_CN/latest/reference/commandline/cli.html