既然叠加网络可以使多个隔离的Docker守护程序主机彼此通信,那么为什么我们需要Docker Swarm中的桥接网络?谢谢!
既然叠加网络可以使多个隔离的Docker守护程序主机彼此通信,那么为什么我们需要Docker Swarm中的桥接网络?谢谢!
查看这个线程以从概念上理解。
桥接网络:桥接网络是docker中的默认网络,也称为docker0。它是连接到您主机的物理网络的NAT防火墙的默认网络。但是,我们不必关心它,因为所有容器都将附加到此网络并正常工作。
如果您有任何正在运行的容器,可以检查桥接网络如下:
$ docker network inspect bridge
"Containers": {
"145a2716d018c6fe8e9f93a81d88afd5a7437f0084ddb170c40761818e6d2f67": {
"Name": "nginx",
"EndpointID": "ea6cfa433f41e21e572f17473c8e5f5e5d82e9f19646e66fe23abda20a3836b8",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
}
},
注意:您可以看到自动分配给容器的IP地址来自IPAM配置子网。$ docker network create --driver overlay --subnet 10.0.9.0/24 overlay_network
$ docker service create --replicas 3 --network overlay_network nginx
希望这能帮到你。覆盖页面中详细介绍了:
当您初始化一个Swarm或将Docker主机加入到现有的Swarm中时,会在该Docker主机上创建两个新网络:
- 名为
ingress
的覆盖网络,用于处理与Swarm服务相关的控制和数据流量。当您创建Swarm服务并未将其连接到用户定义的覆盖网络时,默认情况下将其连接到ingress网络。- 名为
docker_gwbridge
的桥接网络,将单个Docker守护程序连接到参与Swarm的其他守护程序。
请参见它是如何工作的?Docker!第2部分:Swarm网络,作者为Sebastian Caceres。
叠加桥是VXLAN封装的叠加网络的进入/出口点。它还将覆盖层扩展到参与此特定覆盖层的所有主机上。每个主机上每个覆盖子网都有一个具有与覆盖网络相同名称的叠加桥。