插件V2的插件配置版本1

本文档概述了V0插件配置的格式。本文描述的插件配置已在v1.12.0版本的Docker守护进程中引入

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

配置类型 媒体类型
配置 “ application / vnd.docker.plugin.v1 + json”

配置字段说明

Config提供用于在注册表中使用V0插件格式的基本可访问字段。

  • description 细绳

    插件说明

  • documentation 细绳

    链接到有关插件的文档

  • interface 插件接口

    由插件实现的接口,结构由以下字段组成

    • 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 插件网络

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

    • type 细绳

      网络类型。

      目前支持:

      - **bridge**
      - **host**
      - **none**
      
  • mounts PluginMount阵列

    插件的安装,结构由以下字段组成,请参见 MOUNTS

    • name 细绳

      坐骑的名字。

    • description 细绳

      安装说明。

    • source 细绳

      坐骑的来源。

    • destination 细绳

      安装的目的地。

    • type 细绳

      安装类型。

    • options 字符串数组

      安装选项。

  • ipchost 布尔值 访问主机ipc名称空间。
  • pidhost 布尔值 访问主机pid名称空间。

  • propagatedMount 细绳

    要作为rshared挂载的路径,因此docker可以看到该路径下的挂载。这对于批量插件很有用。该路径将绑定安装在插件rootfs之外,因此其内容在升级时会保留。

  • env PluginEnv数组

    插件的env,结构由以下字段组成

    • name 细绳

      环保名称。

    • description 细绳

      环保说明

    • value 细绳

      环保价值

  • args 插件Args

    插件的args,结构包含以下字段

    • name 细绳

      参数的名称。

    • description 细绳

      args的说明。

    • value 字符串数组

      args的值。

  • linux 插件Linux

    • capabilities 字符串数组

      插件的功能(仅Linux),请参见列表here

    • allowAllDevices 布尔值

      如果/dev从主机绑定挂载,并且allowAllDevices设置为true,则该插件将有权rwm访问主机上的所有设备。

    • devices PluginDevice数组

      插件的设备(仅Linux),结构由以下字段组成,请参见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": ""
}
API用法插件文档开发人员