外掛 V2 的外掛配置版本 1
本文件概述了 V0 外掛配置的格式。
外掛配置描述了 Docker 引擎外掛的各種組成部分。外掛配置可以使用以下媒體型別序列化為 JSON 格式
配置型別 | 媒體型別 |
---|---|
配置 | application/vnd.docker.plugin.v1+json |
配置欄位描述
配置提供了在登錄檔中處理 V0 外掛格式的基本可訪問欄位。
description
字串外掛的描述
documentation
字串指向外掛文件的連結
interface
PluginInterface外掛實現的介面,由以下欄位組成的結構體
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 是引擎用於與外掛通訊的套接字名稱。套接字將在
/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 可見。這對於卷外掛很有用。此路徑將繫結掛載到外掛根檔案系統之外,因此其內容在升級時將保留。
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.tw/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": ""
}