bridge 网络
Docker 安装时会创建一个 命名为 docker0 的 linux bridge。如果不指定--network,创建的容器默认都会挂到 docker0 上。
创建一个容器
一个新的网络接口 vethef69121 被挂到了 docker0 上,vethef69121就是新创建容器的虚拟网卡。
进入容器查看到一个网卡 eth0@if6 ,而不是 vethef69121,实际上 eth0@if6 和 vethef69121 是一对 veth pair。
veth pair 是一种成对出现的特殊网络设备,可以把它们想象成由一根虚拟网线连接起来的一对网卡,网卡的一头(eth0@if6)在容器中,另一头(vethef69121)挂在网桥 docker0 上,其效果就是将 eth0@if6 也挂在了 docker0 上。
网卡 eth0@if6 还被分配一个 172.17.0.2 的ip,在网桥 docker0 上的配置 Subnet:172.17.0.0/16 且网关是 172.17.0.1 ,
当前的网络结构图
容器创建时,docker 会自动从 172.17.0.0/16 中分配一个 IP,这里 16 位的掩码保证有足够多的 IP 可以供容器使用。
-----------------------------引用来自--------------------------------
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587681&idx=1&sn=de0a60f143d4d8a1f814ce61027acff0&chksm=8d3080f8ba4709eebcf2887dfbd4efeae1e6e120e2c2a8c55740071c51e6a52be61f4a280323&scene=21#wechat_redirect