理解Docker0

清空所有环境

docker状态命令 docker四种状态_网络

docker状态命令 docker四种状态_网络_02

docker状态命令 docker四种状态_docker_03


docker状态命令 docker四种状态_运维_04


ping + ip

Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMPecho (ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。


原理

  • 1、我们每启动一个 docker容器, docker就会给 docker容器分配一个ip,我们只要安装了 docker,就会有一个网卡 docker0。
    桥接模式,使用的技术是evth-pair技术!
    再次测试ip addr
  • docker状态命令 docker四种状态_运维_05

  • 2、在启动一个容器测试,发现又多了一对网卡!
  • docker状态命令 docker四种状态_tomcat_06


  • docker状态命令 docker四种状态_docker_07

  • 3、我们来测试下 tomcat01和 tomcat02是否可以ping通!
  • docker状态命令 docker四种状态_docker状态命令_08

绘制一个网络模型图:

docker状态命令 docker四种状态_docker状态命令_09


结论: tomcat01和 tomcat(02是公用的一个路由器, docker0

所有的容器不指定网络的情况下,都是 docker0路由的, docker:会给我们的容器分配一个默认的可用IP

小结

Docker使用的是 Linux的桥接 ,通过veth-pari技术

docker状态命令 docker四种状态_网络_10


启动容器,不指定网络就会一直往下分配,最多分配65535个

Docker中的所有的网络接口都是虚拟的。虚拟的转发效率高!

只要容器删除,对应网桥一对就没了!

docker状态命令 docker四种状态_docker状态命令_11


尚硅谷

docker network网络模式有几种

docker状态命令 docker四种状态_运维_12


docker状态命令 docker四种状态_docker_13

bridge

docker状态命令 docker四种状态_tomcat_14

docker状态命令 docker四种状态_运维_15


docker0默认就是bridge

host

docker状态命令 docker四种状态_tomcat_16

none

docker状态命令 docker四种状态_docker状态命令_17

自定义的网络

docker状态命令 docker四种状态_网络_18


docker状态命令 docker四种状态_docker_19


docker状态命令 docker四种状态_网络_20

docker容器内部的ip是有可能会发生改变的,在重启时启动顺改变之后

bridge到底是什么

docker状态命令 docker四种状态_运维_21

网桥说明

docker状态命令 docker四种状态_tomcat_22


docker状态命令 docker四种状态_运维_23

docker状态命令 docker四种状态_运维_24

代码

docker状态命令 docker四种状态_docker状态命令_25

两两验证

docker状态命令 docker四种状态_运维_26


host 直接使用宿主机的P地址与外界进行通信,不再需要额外进行NAT转换

docker状态命令 docker四种状态_运维_27

docker状态命令 docker四种状态_tomcat_28

docker状态命令 docker四种状态_tomcat_29


docker状态命令 docker四种状态_tomcat_30

用host模式的话端口映射就没有意义了

docker状态命令 docker四种状态_网络_31

网络配置情况和宿主机的外网几乎是一摸一样的

docker状态命令 docker四种状态_docker_32

好处,外部主机可以和容器直接通信

docker状态命令 docker四种状态_tomcat_33

none模式

docker状态命令 docker四种状态_运维_34


docker状态命令 docker四种状态_运维_35


docker状态命令 docker四种状态_运维_36


docker状态命令 docker四种状态_tomcat_37


docker状态命令 docker四种状态_tomcat_38

container模式

docker状态命令 docker四种状态_运维_39


docker状态命令 docker四种状态_docker_40


docker状态命令 docker四种状态_网络_41

Alpine

docker状态命令 docker四种状态_docker_42


docker状态命令 docker四种状态_网络_43


docker状态命令 docker四种状态_tomcat_44


docker状态命令 docker四种状态_tomcat_45