Docker 网络驱动程序插件
本文档描述了 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 和网络 插件协议
网络插件协议
The network driver protocol, in addition to the plugin activation call, is documented as part of libnetwork: https://github.com/moby/moby/blob/master/libnetwork/docs/remote.md.
相关信息
如需与 Docker 维护者及其他感兴趣的用户互动,请访问 IRC 频道 #docker-network。
- Docker 网络功能概述
- The LibNetwork 项目