Docker 网络详解
理解docker0
测试
三个网络
# 问题:docker是怎么处理容器网络连接的
docker run -d -p --name tomcat01 tomcat
#查看容器内部网路地址 ip addr 发现容器启动的时候会得到一个 eth00if262 ip地址,docker分配的
# 思考 linux能不能ping通容器内部
# linux 可以ping通容器内部
原理
1,我们每启动一个docker容器 docker就会给docker容器分配一个ip,我们只要安装了docker,就会有一个网卡docker0,使用的技术就是evth-pair技术
再次启动一个tomcat 又多了一个网卡。
# 结论:容器和容器之间是可以互相通信的
绘制一个网络模型图
结论:tomcat01 和tomcat02 是公用的一个路由器,docker0
所有容器不指定网络的情况下,都是docker0路由的,docke会给容器自动分配一个ip。
小结
docker中的所有的网络接口都是虚拟的,虚拟的转发效率高。
eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03
inet addr:172.17.0.3 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:779 errors:0 dropped:0 overruns:0 frame:0
TX packets:768 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2645655 (2.5 MiB) TX bytes:44374 (43.3 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)