插件配置插件 V2 版本 1

本文档概述了 V0 插件配置的格式。

插件配置描述了 Docker 引擎插件的各种组成部分。 插件配置可以使用以下媒体类型序列化为 JSON 格式:

配置类型介质类型
配置application/vnd.docker.plugin.v1+json

Config 字段说明

Config 提供了基本的可访问字段,用于在 注册表。

  • description字符串

    插件描述

  • documentation字符串

    链接到有关插件的文档

  • interface插件接口

    由插件实现的 interface,struct 由以下字段组成:

    • 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 是引擎用来与插件通信的 socket 的名称。 套接字将在 中创建。/run/docker/plugins

  • entrypoint字符串数组

    插件的 Entrypoint,参见 ENTRYPOINT

  • workdir字符串

    插件的工作目录,参见 WORKDIR

  • network插件网络

    插件的网络,由以下字段组成的结构体:

    • type字符串

      网络类型。

      支持的类型:

      • bridge
      • host
      • none
  • mountsPluginMount 数组

    插件的挂载,结构体由以下字段组成。 请参阅 MOUNTS

    • name字符串

      坐骑的名称。

    • description字符串

      安装座的描述。

    • source字符串

      安装座的来源。

    • destination字符串

      挂载的目标。

    • type字符串

      挂载类型。

    • options字符串数组

      安装的选项。

  • ipchost布尔

    访问主机 ipc 命名空间。

  • pidhost布尔

    访问主机 PID 命名空间。

  • propagatedMount字符串

    要挂载为 rshared 的路径,以便该路径下的挂载对 Docker。这对于 volume 插件很有用。此路径将进行绑定挂载 在插件 rootfs 之外,因此其内容在升级时被保留。

  • envPluginEnv 数组

    插件的环境变量,struct 由以下字段组成:

    • name字符串

      环境变量的名称。

    • description字符串

      环境变量的描述。

    • value字符串

      环境变量的值。

  • argsPluginArgs 插件

    插件的参数,struct 由以下字段组成:

    • name字符串

      参数的名称。

    • description字符串

      参数的描述。

    • value字符串数组

      参数的值。

  • linux插件Linux

    • capabilities字符串数组

      插件的功能(仅限 Linux),请参阅此处的列表

    • allowAllDevices布尔

      如果从主机挂载了 bind,并且 allowAllDevices 设置为 true,则插件将有权访问主机上的所有设备。/devrwm

    • devicesPluginDevice 数组

      插件的设备(仅限 Linux),struct 由以下字段组成。 请参阅 DEVICES。

      • name字符串

        设备的名称。

      • description字符串

        设备说明。

      • path字符串

        设备的路径。

示例配置

以下示例显示了 tiborvass/sample-volume-plugin' 插件配置。

{
  "Args": {
    "Description": "",
    "Name": "",
    "Settable": null,
    "Value": null
  },
  "Description": "A sample volume plugin for Docker",
  "Documentation": "https://docs.docker.com/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": ""
}