32-理解容器之间的连通性
两个 busybox 容器都挂在 my_net2 上,应该能够互通,我们验证一下:
可见同一网络中的容器、网关之间都是可以通信的。
my_net2
与默认 bridge 网络能通信吗?
从拓扑图可知,两个网络属于不同的网桥,应该不能通信,我们通过实验验证一下:
原因就在这里了:iptables DROP 掉了网桥之间双向的流量。
从规则的命名 DOCKER-ISOLATION
可知 docker 在设计上就是要隔离不同的 netwrok。
那么接下来的问题是:怎样才能让 busybox 与 httpd 通信呢?
答案是:为容器添加一块 net_my2 的网卡。这个可以通过docker network connect
命令实现。
容器中增加了一个网卡 eth1,分配了 my_net2 的 IP 172.22.16.3。现在 可以相互访问了,验证一下: