外掛 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://dockerdocs.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": ""
}