文章目录
- 一、Docker 网络实现的原理
- 二、Docker的网络模式
-
- 2.1 Host 模式
- 2.2 none 模式
- 2.3 container 模式
- 2.4 bridge 模式
- 2.5 自定义网络模式
一、Docker 网络实现的原理
Docker 使用Linux bridge 技术,当Docker server启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中。
接下来就要为容器分配IP了,Docker会从RFC1918所定义的私有IP网段中,选择一个和宿主机不同的IP地址(Container-IP)和子网(每个容器的默认网关)分配给docker0,连接到docker0的容器就从这个子网中选择一个未占用的IP使用。
如一般Docker会使用172.17.0.0/16这个网段,并将172.17.0.1/16分配给docker0网桥(在主机上使用ifconfig命令是可以看到docker0的,可以认为它是网桥的管理接口,在宿主机上作为一块虚拟网卡使用)。</