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

一些网络驱动插件列在 plugins

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