使用 Docker Engine 插件
目录
本文档介绍了 Docker Engine 中通常可用的 Docker Engine 插件。要查看有关 Docker 管理的插件的信息,请参阅 Docker Engine 插件系统。
您可以通过加载第三方插件来扩展 Docker Engine 的功能。本页介绍了插件的类型,并提供了 Docker 的几个卷和网络插件的链接。
插件类型
插件扩展了 Docker 的功能。它们有特定的类型。例如,卷插件可以使 Docker 卷在多个 Docker 主机上持久化,而网络插件可以提供网络管道。
目前 Docker 支持授权、卷和网络驱动程序插件。将来它将支持其他插件类型。
安装插件
请按照插件文档中的说明进行操作。
查找插件
以下各节概述了可用的第三方插件。
网络插件
| 插件 | 描述 |
|---|---|
| Contiv Networking | 一个开源网络插件,为多租户微服务部署提供基础设施和安全策略,同时为非容器工作负载提供与物理网络的集成。Contiv Networking 实现了 Docker 1.9 及更高版本中可用的远程驱动程序和 IPAM API。 |
| Kuryr 网络插件 | 作为 OpenStack Kuryr 项目的一部分开发的一个网络插件,它通过利用 OpenStack 网络服务 Neutron 实现了 Docker 网络 (libnetwork) 远程驱动程序 API。它还包括一个 IPAM 驱动程序。 |
| Kathará 网络插件 | Kathará 使用的 Docker 网络插件,Kathará 是一个开源的基于容器的网络仿真系统,用于展示交互式演示/课程、在沙盒环境中测试生产网络或开发新的网络协议。 |
卷插件
| 插件 | 描述 |
|---|---|
| Azure 文件存储插件 | 允许您使用 SMB 3.0 协议将 Microsoft Azure 文件存储共享作为卷挂载到 Docker 容器。了解更多。 |
| BeeGFS 卷插件 | 一个开源的卷插件,用于在 BeeGFS 并行文件系统中创建持久卷。 |
| Blockbridge 插件 | 一个卷插件,提供对一组可扩展的基于容器的持久存储选项的访问。它支持单主机和多主机 Docker 环境,功能包括租户隔离、自动配置、加密、安全删除、快照和 QoS。 |
| Contiv 卷插件 | 一个开源的卷插件,提供多租户、持久、分布式的存储,并具有基于意图的消费。它支持 Ceph 和 NFS。 |
| Convoy 插件 | 一个适用于各种存储后端(包括设备映射器和 NFS)的卷插件。它是一个用 Go 编写的简单独立可执行文件,并提供支持供应商特定扩展(如快照、备份和还原)的框架。 |
| DigitalOcean 块存储插件 | 通过自动将给定的块存储卷附加到 DigitalOcean droplet,并将卷的内容提供给在该 droplet 上运行的 Docker 容器,将 DigitalOcean 的块存储解决方案集成到 Docker 生态系统中。 |
| DRBD 插件 | 一个卷插件,提供由 DRBD 复制的高可用存储。写入 Docker 卷的数据在 DRBD 节点集群中复制。 |
| Flocker 插件 | 一个卷插件,为 Docker 提供多主机便携式卷,使您能够运行数据库和其他有状态容器,并在机器集群中移动它们。 |
| Fuxi 卷插件 | 一个作为 OpenStack Kuryr 项目一部分开发的卷插件,它通过利用 OpenStack 块存储服务 Cinder 实现了 Docker 卷插件 API。 |
| gce-docker 插件 | 一个能够附加、格式化和挂载 Google Compute 持久磁盘的卷插件。 |
| GlusterFS 插件 | 一个卷插件,使用 GlusterFS 为 Docker 提供多主机卷管理。 |
| Horcrux 卷插件 | 一个卷插件,允许按需、版本控制地访问您的数据。Horcrux 是一个用 Go 编写的开源插件,支持 SCP、Minio 和 Amazon S3。 |
| HPE 3Par 卷插件 | 支持 HPE 3Par 和 StoreVirtual iSCSI 存储阵列的卷插件。 |
| Infinit 卷插件 | 一个卷插件,可以轻松地使用 Docker 挂载和管理 Infinit 卷。 |
| IPFS 卷插件 | 一个开源的卷插件,允许使用 ipfs 文件系统作为卷。 |
| Keywhiz 插件 | 一个使用 Keywhiz 作为中央存储库提供凭据和密钥管理的插件。 |
| Linode 卷插件 | 一个增加了在 Linode 中将 Linode 块存储作为 Docker 卷进行管理的功能的插件。 |
| Local Persist 插件 | 一个卷插件,通过允许您在主机上的任何位置指定挂载点来扩展默认的 `local` 驱动程序的功能,这使得文件能够*始终持久化*,即使通过 `docker volume rm` 删除了卷。 |
| NetApp 插件 (nDVP) | 一个卷插件,为 NetApp 存储产品组合提供与 Docker 生态系统的直接集成。nDVP 软件包支持从存储平台到 Docker 主机的存储资源的配置和管理,并为将来添加其他平台提供了强大的框架。 |
| Netshare 插件 | 一个卷插件,为 NFS 3/4、AWS EFS 和 CIFS 文件系统提供卷管理。 |
| Nimble Storage 卷插件 | 一个与 Nimble Storage 统一闪存阵列集成的卷插件。该插件将阵列卷功能抽象给 Docker 管理员,以允许安全的多租户卷和克隆的自我配置。 |
| OpenStorage 插件 | 一个集群感知的卷插件,为文件和块存储解决方案提供卷管理。它实现了一个供应商中立的规范,用于实现 CoS、加密和快照等扩展。它有基于 FUSE、NFS、NBD 和 EBS 的示例驱动程序等等。 |
| Portworx 卷插件 | 一个卷插件,可将任何服务器转变为横向扩展的融合计算/存储节点,提供容器粒度的存储和跨任何节点的高度可用卷,使用适用于任何 docker 调度程序的无共享存储后端。 |
| Quobyte 卷插件 | 一个卷插件,将 Docker 连接到 Quobyte 的数据中心文件系统,这是一个通用的可扩展且容错的存储平台。 |
| REX-Ray 插件 | 一个用 Go 编写的卷插件,为许多平台(包括 VirtualBox、EC2、Google Compute Engine、OpenStack 和 EMC)提供高级存储功能。 |
| Virtuozzo 存储和 Ploop 插件 | 一个支持 Virtuozzo Storage 分布式云文件系统以及 ploop 设备的卷插件。 |
| VMware vSphere 存储插件 | Docker Volume Driver for vSphere 使客户能够满足 vSphere 环境中 Docker 容器的持久存储要求。 |
授权插件
| 插件 | 描述 |
|---|---|
| Casbin AuthZ 插件 | 一个基于 Casbin 的授权插件,支持 ACL、RBAC、ABAC 等访问控制模型。访问控制模型可以自定义。策略可以持久化到文件或数据库中。 |
| HBM 插件 | 一个授权插件,用于防止执行带有某些参数的命令。 |
| Twistlock AuthZ Broker | 一个可扩展的基本授权插件,可以直接在主机上或容器内运行。该插件允许您定义用户策略,并在授权期间进行评估。如果 Docker 守护程序使用 --tlsverify 标志启动(用户名从证书通用名称中提取),则提供基本授权。 |
插件故障排除
如果您在加载插件后遇到 Docker 问题,请向插件作者寻求帮助。Docker 团队可能无法为您提供帮助。
编写插件
如果您有兴趣为 Docker 编写插件,或想了解其内部工作原理,请参阅 Docker 插件参考。