第 5 章 网络 - 034 - 理解容器之间的连通性

容器的连通性

(0)当前的拓扑结构如下

 

 

(1)同一网络下的容器可以互通,不同网络下的容器互不相通

例如:    172.20.22.6和172.20.22.58 都在my_net2下是互通的

               172.17.0.2在docker0下和172.20.22.2在my_net2下是不通的

 

(2)不同网络下的容器想通信

1、前提:

  检查 Docker host 的路由转发功能

  ip r 查看 host 上的路由表:

 

路由表是有的,两个网络的路由都定义好了。

 

再查看 ip forwarding:

 sysctl net.ipv4.ip_forward

 

 

查看iptables

iptables-save

 

 

网桥之间的通信是 DROP的。

从规则的命名 DOCKER-ISOLATION 可知 docker 在设计上就是要隔离不同的 netwrok。

 

2、实现

使两个容器属于相同的网络,为httpd增加一块my_net2的网卡,通过docker network connect 命令实现。

 

容器中增加了一个网卡 eth1,分配了 my_net2 的 IP 172.20.22.2。现在 busybox 应该能够访问 httpd 了

 

 

当前网络结构如图所示:

 

 

----------------------------------------------------引用来自-----------------------------------------------------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587690&idx=1&sn=770e7bbd74377f84bd5e8ee0f42ca194&chksm=8d3080f3ba4709e5f3a8fe9b666a5db5b246746271952828eed2d6d34cb19076d5cde2aeb6a7&scene=21#wechat_redirect

 

 

posted @ 2019-02-25 18:51  gsophy  阅读(167)  评论(0编辑  收藏  举报