Docker的那些事儿—使用自定义网络启动容器(24)


上一篇:Docker的那些事儿—如何自定义网络(23)


下面使用新创建的my_bridge网络启动容器,并检查网络连通性。

新创建的my_bridge网络信息如下:

指定使用my_bridge网络启动容器mysql3

docker run -itd --name mysql3 --network=my_bridge mysql /bin/bash

docker network inspect my_bridge查询Containers参数如下:

结合前面的容器mysql1和mysql2,整个网络拓扑如下:

在mysql3中ping mysql1和mysql2不通

在mysql1中ping mysql3也不通

这说明处于不同网络中的容器彼此间网络不通,这也印证了容器的网络隔离性。那么不同网络中的容器如何访问呢?

答案:docker network connect

例如:docker network connect my_bridge mysql2

my_bridge网络中增加了容器mysql2。我们进一步查询容器mysql2应用的网络:docker container inspect mysql2

可见容器mysql2使用了两个网络bridge和my_bridge。此时网络拓扑变为:

容器名        容器主机名        使用的网络    绑定的ip

mysql1        9336ebf764fd    bridge            172.17.0.2

mysql2        12df3e56ea67  bridge            172.17.0.3

                                              my_bridge    172.18.0.3

mysql3        6b1fd1b2b253    my_bridge    172.18.0.2

此时在检查容器间是否可以连通。

mysql2内可以ping通mysql3

mysql3内可以ping通mysql2

docker network disconnect提供使得容器从网络中断开的功能。

docker network disconnect my_bridge mysql2后网络拓扑重新变为如下:



下一篇:Docker的那些事儿—自定义bridge网络和默认bridge网络比较(25)



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容