文章目录

  • 前言
  • 网络驱动器
  • 使用场景
  • 传送门


前言

Docker容器和服务如此强大的原因之一是可以将它们连接在一起,或将它们连接到非Docker工作负载。Docker容器和服务甚至不需要知道它们已部署在Docker上,也不必知道它们的对等对象是否也是Docker工作负载。无论Docker主机运行Linux,Windows还是两者结合,都可以使用Docker以与平台无关的方式管理它们。

网络驱动器

  • bridge:默认的网络驱动器,如果没有指定网络驱动程序,则为正在创建的网络驱动程序。
  • host:对于独立容器,直接删除容器与Docker主机之间的网络隔离,然后直接使用主机网络。仅可用于Docker 17.06及更高版本上的集群服务。
  • overlay:覆盖网络可以将多个Docker守护进程连接在一起,并使集群服务能够互相通信。还可以使用覆盖网络达到集群服务和独立容器之间或不同Docker守护进程上的两个独立容器的通信。
  • macvlan:Macclan允许为容器分配mac地址,使其显示为网络上的物理设备,Docker守护程序通过mac将其流量路由到容器。macvlan 在处理希望直接连接到物理网络而不是通过Docker主机的网络堆栈进行路由应用程序时,使用驱动程序有时是最佳选择。
  • none:对于此容器,请禁用所有联网。通常与自定义网络驱动程序一起使用。none不适用于群体服务。

使用场景

  • 当需要多个容器在同一个Docker主机上进行通信时,最好使用用户自定义的桥接网络。
  • 当网络堆栈不应与Docker主机进行隔离时,但容器的其它需要隔离,则主机网络是最佳选择。
  • 当需要不同Docker主机上运行的容器相互通信时,或多个应用程序使用群服务时,覆盖网络是最佳选择。
  • 从VM设置迁移或者徐亚容器在网络上看上去像是物理主机(每个都有唯一的mac地址)时,Macvlan是最佳选择。

传送门

桥接网络覆盖网络host、macvlan、none