Docker容器是虚拟化技术,其使用虚拟化网络技术实现Docker容器主机中运行的容器实例之间的网络互连功能,本文主要描述Docker的网络模型。
Docker架构
如上所示,Docker容器化的架构分为三个部分,其中Docker Host是虚拟化主机系统,包括Docker daemon主进程、Images镜像、Containers容器实例,Docker Host在底层使用虚拟化网络技术支持容器实例之间、容器主机之间、容器主机与容器实例之间的网络互连,Docker容器的网络模型包括bridge、host、overlay、ipvlan、macvlan、none。
Bridge
如上所示,该网络模型在Docker Host容器主机系统中建立一个网络桥连,实现容器实例之间的网络相互连接,创建一个Virtual Bridge虚拟桥连,Physical Machine物理主机与Virtual Machine虚拟主机或者Container容器实例相互连接,Docker Host约束在不同桥连的网络区域不能相互访问
Host
如上所示,该网络模型使用Docker Host容器主机操作系统的网络,容器实例直接与主机网络相互连接
Overlay
如上所示,该网络模型在不同Docker Host容器主机系统之间实现网络相互连接
Ipvlan
如上所示,该网络模型支持在虚拟局域网中使用IPV4网络协议、IPV6网络协议实现网络相互连接
Macvlan
如上所示,该网络模型在容器实例中指定MAC地址,以物理主机的方式在不同Docker Host容器主机系统之间实现网络相互连接
None
如上所示,该网络模型不实现Docker Host容器主机系统之间的相互连接