On this page
Plugin Config Version 1 of Plugin V2
This document outlines the format of the V0 plugin configuration. The plugin config described herein was introduced in the Docker daemon in the v1.12.0 release.
Plugin configs describe the various constituents of a docker plugin. Plugin configs can be serialized to JSON format with the following media types:
Config Type | Media Type |
---|---|
config | “application/vnd.docker.plugin.v1+json” |
Config Field Descriptions
Config provides the base accessible fields for working with V0 plugin format in the registry.
description
stringdescription of the plugin
documentation
stringlink to the documentation about the plugin
interface
PluginInterfaceinterface implemented by the plugins, struct consisting of the following fields
types
string arraytypes indicate what interface(s) the plugin currently implements.
currently supported:
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
stringsocket is the name of the socket the engine should use to communicate with the plugins. the socket will be created in
/run/docker/plugins
.
entrypoint
string arrayentrypoint of the plugin, see
ENTRYPOINT
workdir
stringworkdir of the plugin, see
WORKDIR
network
PluginNetworknetwork of the plugin, struct consisting of the following fields
type
stringnetwork type.
currently supported:
- **bridge** - **host** - **none**
mounts
PluginMount arraymount of the plugin, struct consisting of the following fields, see
MOUNTS
name
stringname of the mount.
description
stringdescription of the mount.
source
stringsource of the mount.
destination
stringdestination of the mount.
type
stringmount type.
options
string arrayoptions of the mount.
ipchost
boolean Access to host ipc namespace.pidhost
boolean Access to host pid namespace.propagatedMount
stringpath to be mounted as rshared, so that mounts under that path are visible to docker. This is useful for volume plugins. This path will be bind-mounted outside of the plugin rootfs so it’s contents are preserved on upgrade.
env
PluginEnv arrayenv of the plugin, struct consisting of the following fields
name
stringname of the env.
description
stringdescription of the env.
value
stringvalue of the env.
args
PluginArgsargs of the plugin, struct consisting of the following fields
name
stringname of the args.
description
stringdescription of the args.
value
string arrayvalues of the args.
linux
PluginLinuxcapabilities
string arraycapabilities of the plugin (Linux only), see list
here
allowAllDevices
booleanIf
/dev
is bind mounted from the host, and allowAllDevices is set to true, the plugin will haverwm
access to all devices on the host.devices
PluginDevice arraydevice of the plugin, (Linux only), struct consisting of the following fields, see
DEVICES
name
stringname of the device.
description
stringdescription of the device.
path
stringpath of the device.
Example Config
Example showing the ‘tiborvass/sample-volume-plugin’ plugin config.
{
"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, Usage, plugins, documentation, developer
© 2019 Docker, Inc.
Licensed under the Apache License, Version 2.0.
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.
Docker, Inc. and other parties may also have trademark rights in other terms used herein.
https://docs.docker.com/engine/extend/config/