插件配置版本 2 插件的版本 1
本文档概述了 V0 插件配置的格式。
插件配置描述了 Docker Engine 插件的各种组成部分。插件配置可以使用以下媒体类型序列化为 JSON 格式
| 配置类型 | 媒体类型 |
|---|---|
| 配置 | application/vnd.docker.plugin.v1+json |
配置字段描述
Config 提供了在注册表中使用 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字符串网络类型。
支持的类型
桥接主机无
mountsPluginMount 数组插件的挂载,包含以下字段的结构体。请参见
挂载。name字符串挂载的名称。
description字符串挂载的描述。
source字符串挂载的来源。
destination字符串挂载的目标。
type字符串挂载类型。
options字符串数组挂载的选项。
ipchost布尔值访问主机 ipc 命名空间。
pidhost布尔值访问主机 PID 命名空间。
propagatedMount字符串要以 rshared 方式挂载的路径,以便该路径下的挂载对 Docker 可见。这对于卷插件很有用。此路径将在插件 rootfs 外部进行 bind 挂载,因此其内容在升级时会保留。
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.docker.top/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": ""
}