首页 > 其他 > 详细

30-学容器必须懂 bridge 网络

时间:2019-05-24 13:35:52      阅读:80      评论:0      收藏:0      [点我收藏+]

Docker 安装时会创建一个 命名为 docker0 的 linux bridge。如果不指定--network,创建的容器默认都会挂到 docker0 上。

apt-get install bridge-utils

技术分享图片

当前 docker0 上没有任何其他网络设备,我们创建一个容器看看有什么变化

技术分享图片

技术分享图片

一个新的网络接口 vethc4ff17f被挂到了 docker0 上,vethc4ff17f就是新创建容器的虚拟网卡。

容器有一个网卡eth0。大家可能会问了,为什么不是vethc4ff17f 呢?

实际上eth0和 vethc4ff17f 是一对 veth pair。veth pair 是一种成对出现的特殊网络设备,可以把它们想象成由一根虚拟网线连接起来的一对网卡,网卡的一头(eth0)在容器中,另一头(vethc4ff17f)挂在网桥 docker0 上,其效果就是将 eth0 也挂在了 docker0 上。

我们还看到 eth0 已经配置了 IP 172.17.0.2,为什么是这个网段呢?让我们通过 docker network inspect bridge 看一下 bridge 网络的配置信息:

技术分享图片

原来 bridge 网络配置的 subnet 就是 172.17.0.0/16,并且网关是 172.17.0.1。这个网关在哪儿呢?大概你已经猜出来了,就是 docker0。

容器创建时,docker 会自动从 172.17.0.0/16 中分配一个 IP,这里 16 位的掩码保证有足够多的 IP 可以供容器使用。

30-学容器必须懂 bridge 网络

原文:https://www.cnblogs.com/mkxfs/p/10917513.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!