插件配置版本 1(Plugin V2)
本文档概述了 V0 插件配置的格式。
插件配置描述了 Docker Engine 插件的各种组成部分。插件配置可以使用以下媒体类型序列化为 JSON 格式
配置类型 | 媒体类型 |
---|---|
config | application/vnd.docker.plugin.v1+json |
配置字段描述
Config 提供了在 registry 中使用 V0 插件格式进行操作的基本可访问字段。
description
字符串插件描述
documentation
字符串插件文档链接
interface
PluginInterface插件实现的接口,该结构包含以下字段
types
字符串数组Types 表示插件当前实现的一个或多个接口。
支持的类型
docker.volumedriver/1.0
docker.networkdriver/1.0
docker.ipamdriver/1.0
docker.authz/1.0
docker.logdriver/1.0
docker.metricscollector/1.0
socket
字符串Socket 是 Engine 用于与插件通信的套接字名称。套接字将在
/run/docker/plugins
中创建。
entrypoint
字符串数组插件的入口点,参见
ENTRYPOINT
workdir
字符串插件的工作目录,参见
WORKDIR
network
PluginNetwork插件的网络,该结构包含以下字段
type
字符串网络类型。
支持的类型
bridge
host
none
mounts
PluginMount 数组插件的挂载点,该结构包含以下字段。参见
MOUNTS
。name
字符串挂载点名称。
description
字符串挂载点描述。
source
字符串挂载点源。
destination
字符串挂载点目标。
type
字符串挂载类型。
options
字符串数组挂载选项。
ipchost
布尔值访问主机 ipc 命名空间。
pidhost
布尔值访问主机 PID 命名空间。
propagatedMount
字符串将路径挂载为 rshared,以便该路径下的挂载点对 Docker 可见。这对于卷插件非常有用。此路径将绑定挂载到插件 rootfs 之外,以便在升级时保留其内容。
env
PluginEnv 数组插件的环境变量,该结构包含以下字段
name
字符串环境变量名称。
description
字符串环境变量描述。
value
字符串环境变量值。
args
PluginArgs插件的参数,该结构包含以下字段
name
字符串参数名称。
description
字符串参数描述。
value
字符串数组参数值。
linux
PluginLinux
示例配置
以下示例展示了 'tiborvass/sample-volume-plugin' 插件配置。
{
"Args": {
"Description": "",
"Name": "",
"Settable": null,
"Value": null
},
"Description": "A sample volume plugin for Docker",
"Documentation": "https://docs.docker.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": ""
}