Docker网络主要解决部署在Docker集群中的容器、服务彼此之间如何通信与隔离的问题,包括容器与服务之间的互通,容器与服务对外部世界之间的互通,不同租户下流量的隔离,网络的DHCP服务,DNS服务,安全策略等。
网络驱动
Docker网络子系统通过插件化的驱动实现,允许扩展,当然也内置了几种驱动以提供网络功能:
- bridge:创建网络时的默认驱动类型,多用在单机部署。
- host:取消容器与主机网络的隔离,共享宿主机网络栈,多用在单机部署。
- overlay:提供跨宿主机网络。
- macvlan:直连物理网络的一种方法。
- none:禁用网络功能,多与其它驱动组合使用。
- Network plugins:由第在方提供的网络驱动插件。
使用场景
- bridge网络适用于部署在单机上的不同容器通信。
- host网络适用于宿主机与容器需要通信的场景。
- overlay网络适用于跨宿主机容器与间的通信。
- macvlan网络适用于容器直接物理网络。
- Network plugins用来集成第三方提供的网络插件。