外掛 V2 的外掛組態版本 1
本文件概述了 V0 插件配置的格式。
插件配置描述了 Docker 引擎插件的各個組成部分。插件配置可以序列化為 JSON 格式,並使用以下媒體類型:
| 配置類型 | 媒體類型 |
|---|---|
| config | application/vnd.docker.plugin.v1+json |
配置欄位說明
Config 提供了在 Registry 中使用 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 是引擎用來與插件通訊的 socket 名稱。該 socket 將建立在
/run/docker/plugins目錄下。
entrypoint字串陣列插件的進入點,請參閱
ENTRYPOINTworkdir字串插件的工作目錄,請參閱
WORKDIRnetworkPluginNetwork插件的網路,結構包含以下欄位:
type字串網路類型。
支援的類型
bridgehost無
mountsPluginMount 陣列插件的掛載點,結構包含以下欄位。請參閱
MOUNTS。name字串掛載點名稱。
description字串掛載點說明。
source字串掛載來源。
destination字串掛載目標。
type字串掛載類型。
options字串陣列掛載選項。
ipchost布林值是否存取主機 IPC 名稱空間。
pidhost布林值是否存取主機 PID 名稱空間。
propagatedMount字串要掛載為 rshared 的路徑,以便該路徑下的掛載對 Docker 可見。這對磁碟區插件很有用。此路徑將綁定掛載 (bind-mounted) 在插件 rootfs 之外,因此其內容在升級時會被保留。
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.com.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": ""
}