经过上述操作,将Tomcat01加入到tomcat-net中后,我们来验证能否Ping通
// 进入到新的Tomcat中 docker exec -it custom-net-tomcat bash // 获取容器的网络信息 ip a
最后发现能够Ping通
网络模型最终的结果如下:
五、桥接网络 连接的 容器可以通过 Ping 容器名来连通,因为生成了DNS记录;对于普通的网络,则不能通过Ping容器名来连通。
如下为默认网络无法Ping通的验证:
docker exec -it tomcat01 ping 172.17.03 docker ps docker exec -it tomcat01 ping tomcat02
使用自定义的桥接网络来新建两个容器
docker run -d --name tomcat11 --network tomcat-net tomcat docker run -d --name tomcat22 --network tomcat-net tomcat
查看两个新建的容器的ip
docker exec -it tomcat11 ip a ; docker exec -it tomcat22 ip a
桥接网络Ping通IP和容器名称的实验
六、通过link技术增加一条DNS记录访问容器名称(与五结合这看)
docker rm -f tomcat01 docker run -d --name tomcat01 --link tomcat02 tomcat docker exec -it tomcat01 ping tomcat02
结论:Docker中使用自定义桥接网络不仅能够解决互联互通的问题,而且能解决ping 容器名的问题。
七、Docker中网络的三种形式
桥接网络(bridge):
主机网络(host):
(None):
Docker网络(host、bridge、none)详细介绍
八、多机通信的原理
(1)使得两边的eth0能够通信 (2)前提要确保spring-boot-project container和mysql container的IP地址不一样 (3)将spring-boot-project中的所有信息当成eth0要传输给另外一端的信息 (4)具体通过vxlan技术实现 www.evoila.de/2015/11/06/what-is-vxlan-and-how-it-works (5)处在vxlan的底层:underlay 处在xxlan的上层:overlay
多机网络通信的问题,底层一个实现技术是:overlay ------>vxlan
network namespace veth-pair 桥接模式 原理
bridge host null —> docker多机网络通信 overlay