docker插件通过docker plugin子命令管理,需先安装启用,再在创建volume或network时用--driver指定;插件默认禁用,支持配置参数与权限授权,状态可查,卸载前须禁用并清理依赖资源。

Docker 的插件管理通过 docker plugin 子命令完成,主要用于安装、启用、禁用、卸载和查看插件。它不修改 Docker Engine 源码,而是以进程外方式扩展存储、网络、授权等能力。关键在于:插件需显式安装并启用,且在创建资源(如 volume 或 network)时通过 --driver 指定使用。
安装与启用插件
插件默认处于禁用状态,必须先安装再启用才能使用:
- 用
docker plugin install拉取并安装插件镜像,支持传入配置参数(如密钥、区域):docker plugin install rexray/ebs EBS_ACCESSKEY=xxx EBS_SECRETKEY=xxx EBS_REGION=us-east-1 - 安装后运行
docker plugin enable <plugin-name></plugin-name>启用,例如:docker plugin enable rexray/ebs - 可加
--grant-all-permissions自动授权(适用于需要访问宿主机设备或文件系统的插件)
验证与管理插件状态
确认插件是否就绪,避免后续调用失败:
- 列出所有插件及其状态:
docker plugin ls—— 输出中ENABLED列为true表示已启用 - 查看插件详细信息(含配置、挂载点、权限):
docker plugin inspect rexray/ebs - 禁用或卸载前,确保没有资源正在使用该插件,否则会报错
在资源创建中指定插件驱动
插件本身不自动生效,必须在创建 volume 或 network 时显式声明 --driver:
- 创建由插件管理的卷:
docker volume create --driver rexray/ebs --name myvol - 创建自定义网络(需网络类插件,如 weaveworks/net-plugin):
docker network create --driver weaveworks/net-plugin --subnet=10.2.0.0/16 mynet - 启动容器时挂载上述卷,Docker 会自动调用插件完成底层挂载逻辑
卸载与清理插件
卸载前必须禁用,并确保无依赖资源:
- 禁用插件:
docker plugin disable rexray/ebs - 卸载插件(删除镜像及数据):
docker plugin rm rexray/ebs - 若提示“plugin is in use”,说明仍有 volume 或 network 正在使用该驱动,需先删除对应资源











