一、Bridge桥接模式
bridge网络模式是Docker容器的默认网络模式,它可以使用一个Linux bridge设备,默认为docker0;利用veth0,一头连接在容器的网络namespace中,另一头在docker0上,互相连接来进行通信,在该模式下Docker Container不具有一个公有IP,因为宿主机的IP地址与veth pair的ip地址不在同一网段内;Docker采用NAT转换的方式,将容器内部的服务监听的端口与宿主机的某一个端口进行"绑定",使得宿主机以外的世界可以主动将网络报文发送至容器内部,外界访问容器内的服务时,需要访问宿主机的IP以及宿主机的端口。
# 查看网络模式信息
[root@docker ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
2448303ed0fc bridge bridge local
583184b1f8e0 harbor_harbor bridge local
ff35fa4400e4 host host local
1af23f0e55b5 none null local
# 查看bridge桥接模式的网络信息
[root@docker ~]# docker inspect network bridge
[
{
"Name": "bridge",
"Id": "2448303ed0fc762762aa15214cbf802d0d3032521f88e3cc46054093fcb18249",
"Created": "2019-09-28T14:51:41.530125413+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.b