Docker网络驱动程序插件

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

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

网络插件和群模式

旧版插件在群体模式下不起作用。但是,只要将v2插件系统编写的插件安装在每个swarm worker节点上,它们便可以以swarm模式工作。

使用网络驱动程序插件

安装和运行网络驱动程序插件的方式取决于特定的插件。因此,请务必根据从插件开发者处获得的说明安装插件。

但是,一旦运行,网络驱动程序插件将像内置网络驱动程序一样使用:在面向网络的Docker命令中被称为驱动程序。例如,

$ docker network create --driver weave mynet

插件中列出了一些网络驱动程序插件

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

$ docker run --network=mynet busybox top

查找网络插件

网络插件由第三方编写,并由这些第三方在 Docker Store 或第三方站点上发布。

编写网络插件

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

网络插件协议

除插件激活调用外,网络驱动程序协议还作为libnetwork的一部分记录在文档中:https : //github.com/docker/libnetwork/blob/master/docs/remote.md

要与Docker维护者和其他感兴趣的用户进行交互,请参阅IRC频道#docker-network

示例用法插件docker文档用户指南