插件 V2 的插件配置版本 1
本文档概述了 V0 插件配置的格式。
插件配置描述了 Docker 引擎插件的各种组成部分。插件配置可以使用以下媒体类型序列化为 JSON 格式
| 配置类型 | 媒体类型 |
|---|---|
| 配置 | application/vnd.docker.plugin.v1+json |
配置字段描述
配置提供了在注册表中处理 V0 插件格式的基本可访问字段。
description字符串插件的描述
documentation字符串指向插件文档的链接
interfacePluginInterface插件实现的接口,由以下字段组成的结构体
types字符串数组类型表示插件当前实现的接口。
支持的类型
docker.volumedriver/1.0docker.networkdriver/1.0docker.ipamdriver/1.0docker.authz/1.0docker.logdriver/1.0docker.metricscollector/1.0
socket字符串Socket 是引擎用于与插件通信的套接字名称。套接字将在
/run/docker/plugins中创建。
entrypoint字符串数组插件的入口点,请参阅
ENTRYPOINTworkdir字符串插件的工作目录,请参阅
WORKDIRnetworkPluginNetwork插件的网络,由以下字段组成的结构体
type字符串网络类型。
支持的类型
bridgehostnone
mountsPluginMount 数组插件的挂载,由以下字段组成的结构体。请参阅
MOUNTS。name字符串挂载的名称。
description字符串挂载的描述。
source字符串挂载的源。
destination字符串挂载的目标。
type字符串挂载类型。
options字符串数组挂载的选项。
ipchost布尔值访问主机 IPC 命名空间。
pidhost布尔值访问主机 PID 命名空间。
propagatedMount字符串要作为 rshared 挂载的路径,以便该路径下的挂载对 Docker 可见。这对于卷插件很有用。此路径将绑定挂载到插件根文件系统之外,因此其内容在升级时将保留。
envPluginEnv 数组插件的环境变量,由以下字段组成的结构体
name字符串环境变量的名称。
description字符串环境变量的描述。
value字符串环境变量的值。
argsPluginArgs插件的参数,由以下字段组成的结构体
name字符串参数的名称。
description字符串参数的描述。
value字符串数组参数的值。
linuxPluginLinux
配置示例
以下示例展示了“tiborvass/sample-volume-plugin”插件配置。
{
"Args": {
"Description": "",
"Name": "",
"Settable": null,
"Value": null
},
"Description": "A sample volume plugin for Docker",
"Documentation": "https://docs.container.net.cn/engine/extend/plugins/",
"Entrypoint": [
"/usr/bin/sample-volume-plugin",
"/data"
],
"Env": [
{
"Description": "",
"Name": "DEBUG",
"Settable": [
"value"
],
"Value": "0"
}
],
"Interface": {
"Socket": "plugin.sock",
"Types": [
"docker.volumedriver/1.0"
]
},
"Linux": {
"Capabilities": null,
"AllowAllDevices": false,
"Devices": null
},
"Mounts": null,
"Network": {
"Type": ""
},
"PropagatedMount": "/data",
"User": {},
"Workdir": ""
}