Docker 网络驱动程序插件

本文档介绍 Docker Engine 中通常可用的 Docker Engine 网络驱动程序插件。要查看 Docker Engine 管理的插件信息,请参阅Docker Engine 插件系统

Docker Engine 网络插件使得 Engine 部署能够扩展以支持广泛的网络技术,例如 VXLAN、IPVLAN、MACVLAN 或完全不同的技术。网络驱动程序插件通过 LibNetwork 项目支持。每个插件都作为 LibNetwork 的“远程驱动程序”实现,该驱动程序与 Engine 共享插件基础设施。实际上,网络驱动程序插件的激活方式与其他插件相同,并使用相同的协议。

网络插件和 Swarm 模式

传统插件在 Swarm 模式下不起作用。然而,使用v2 插件系统编写的插件可以在 Swarm 模式下工作,前提是它们安装在每个 Swarm 工作节点上。

使用网络驱动程序插件

安装和运行网络驱动程序插件的方法取决于具体的插件。因此,请务必根据插件开发者提供的说明安装您的插件。

但是,一旦运行起来,网络驱动程序插件的使用方式就与内置网络驱动程序一样:通过在面向网络的 Docker 命令中指定为驱动程序即可。例如,

$ docker network create --driver weave mynet

一些网络驱动程序插件列在插件

mynet 网络现在由 weave 拥有,因此后续引用该网络的命令将发送到该插件,

$ docker run --network=mynet busybox top

查找网络插件

网络插件由第三方编写并发布,可在 Docker Hub 或第三方网站上找到。

编写网络插件

网络插件实现了 Docker 插件 API 和网络插件协议

网络插件协议

网络驱动程序协议,除了插件激活调用外,也作为 libnetwork 的一部分进行文档说明:https://github.com/moby/moby/blob/master/libnetwork/docs/remote.md

要与 Docker 维护人员和其他感兴趣的用户互动,请查看 IRC 频道 #docker-network

页面选项