Docker 网络驱动程序插件

本文档描述了Docker Engine中普遍可用的Docker Engine网络驱动程序插件。要查看Docker Engine管理的插件信息,请参阅Docker Engine插件系统

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

网络插件和Swarm模式

旧版插件在Swarm模式下不起作用。但是,只要在每个Swarm工作节点上安装使用v2插件系统编写的插件,它们就可以在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