理解Docker0
清空所有镜像
测试
查看容器的内部网络地址 ip addr
三个网络
首先 docker是如何处理容器网络访问的?
查看容器的内部网络地址 ip addr 发现容器启动的时候会得到一个 eth0@if71 ip地址 docker分配的!
docker exec -it tomcat01 ip addr 不用进容器就能直接查看ip
尝试ping容器内部
成功!
原理
1.我们每启动一个docker容器,docker就会给docker容器分配一个ip,我们只要安装了docker,就会有一个网卡docker0
桥接模式,使用的技术是veth-pair技术
启动一个tomcat
再启动一个tommcat,发现又多了一对网卡
发现容器带来网卡都是一对一对出现的
容器内
容器外
veth-pair就是一对的虚拟设备接口,他们都是成对出现的,一段连着协议,一段彼此相连
正因为这个特性,veth-pair充当一个桥梁,连接各种虚拟网络设备
OpenStac,Docekr容器直接连接,OVS的连接,都是使用veth-pair技术
测试tomcatwjn和tomcatwjn1 是否可以ping通
docker exec -it tomcatwjn ping 172.17.0.5
成功!
结论 容器与容器之间可以ping通
网络模型图
结论 tomcatwjn 和 tomcatwjn1 是共用一个路由器,docker0.
所有的容器不指定网络的情况下,都是docker0路由的,docker会给我们的容器分配一个默认的可用ip
小结
Docker使用的是Linux的桥接,宿主机中是一个Docker容器的网桥 docker0
Docker中所有的网络接口都是虚拟的。虚拟的转发效率高!(内网传递文件!)