1.docker 网络虚拟化 : docker 服务启动后,会创建与宿主机的网桥 docker0,此网桥会与物理网卡进行通讯来满足docker网络虚拟化,如下图:
2、一般情况下,Docker创建一个容器的时候,会有如下过程。
2.1、创建一对虚拟接口,分别放到本地主机和新容器的命名空间中。
2.2、本地主机一段的虚拟接口连接到默认的docker0网桥或者指定的网桥上,并具有一个veth开头的唯一名字,如veth1234。
2.3、容器一端的虚拟接口将放到新创建的容器中,并修改名称作为eth0,这个接口只在容器的命名空间可见。
2.4、从网桥可用地址段中获取一个空闲地址分配给容器的eth0(例如172.17.0.2/16),
并配置默认路由网关为docker0网卡的内部接口docker0的ip地址(例如:172.17.42.1/16)。
完成以上操作后,容器就可以使用它能看到的eth0虚拟网卡来连接其他容器和访问外部网络。