Plugin Manifest Version 0 of Plugin V2t
The functionality described on this page is marked as Experimental, and as such, may change before it becomes generally available.
This document outlines the format of the V0 plugin manifest. The plugin manifest described herein was introduced in the Docker daemon (experimental version) in the v1.12.0 release.
Plugin manifests describe the various constituents of a docker plugin. Plugin manifests can be serialized to JSON format with the following media types:
| Manifest Type | Media Type |
|---|---|
| manifest | “application/vnd.docker.plugin.v0+json” |
Manifest Field Descriptions
Manifest provides the base accessible fields for working with V0 plugin format in the registry.
-
manifestVersionstringversion of the plugin manifest (This version uses V0)
-
descriptionstringdescription of the plugin
-
documentationstringlink to the documentation about the plugin
-
interfacePluginInterfaceinterface implemented by the plugins, struct consisting of the following fields
-
typesstring arraytypes indicate what interface(s) the plugin currently implements.
currently supported:
- **docker.volumedriver/1.0**
-
socketstringsocket is the name of the socket the engine should use to communicate with the plugins. the socket will be created in
/run/docker/plugins.
-
-
entrypointstring arrayentrypoint of the plugin, see
ENTRYPOINT -
workdirstringworkdir of the plugin, see
WORKDIR -
networkPluginNetworknetwork of the plugin, struct consisting of the following fields
-
typestringnetwork type.
currently supported:
- **bridge** - **host** - **none**
-
-
capabilitiesarraycapabilities of the plugin (Linux only), see list
here -
mountsPluginMount arraymount of the plugin, struct consisting of the following fields, see
MOUNTS-
namestringname of the mount.
-
descriptionstringdescription of the mount.
-
sourcestringsource of the mount.
-
destinationstringdestination of the mount.
-
typestringmount type.
-
optionsstring arrayoptions of the mount.
-
-
devicesPluginDevice arraydevice of the plugin, (Linux only), struct consisting of the following fields, see
DEVICES-
namestringname of the device.
-
descriptionstringdescription of the device.
-
pathstringpath of the device.
-
-
envPluginEnv arrayenv of the plugin, struct consisting of the following fields
-
namestringname of the env.
-
descriptionstringdescription of the env.
-
valuestringvalue of the env.
-
-
argsPluginArgsargs of the plugin, struct consisting of the following fields
-
namestringname of the env.
-
descriptionstringdescription of the env.
-
valuestring arrayvalues of the args.
-
Example Manifest
Example showing the ‘tiborvass/no-remove’ plugin manifest.
{
"manifestVersion": "v0",
"description": "A test plugin for Docker",
"documentation": "https://docs.docker.com/engine/extend/plugins/",
"entrypoint": ["plugin-no-remove", "/data"],
"interface" : {
"types": ["docker.volumedriver/1.0"],
"socket": "plugins.sock"
},
"network": {
"type": "host"
},
"mounts": [
{
"source": "/data",
"destination": "/data",
"type": "bind",
"options": ["shared", "rbind"]
},
{
"destination": "/foobar",
"type": "tmpfs"
}
],
"args": {
"name": "args",
"description": "command line arguments",
"value": []
},
"env": [
{
"name": "DEBUG",
"description": "If set, prints debug messages",
"value": "1"
}
],
"devices": [
{
"name": "device",
"description": "a host device to mount",
"path": "/dev/cpu_dma_latency"
}
]
}
© 2017 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/v1.12/engine/extend/manifest/