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 provides the base accessible fields for working with V0 plugin format in the registry.
manifestVersion
string
version of the plugin manifest (This version uses V0)
description
string
description of the plugin
documentation
string
link to the documentation about the plugin
interface
PluginInterface
interface implemented by the plugins, struct consisting of the following fields
types
string array
types indicate what interface(s) the plugin currently implements.
currently supported:
socket
string
socket 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 array
entrypoint of the plugin, see ENTRYPOINT
workdir
string
workdir of the plugin, see WORKDIR
network
PluginNetwork
network of the plugin, struct consisting of the following fields
type
string
network type.
currently supported:
capabilities
array
capabilities of the plugin (Linux only), see list here
mounts
PluginMount array
mount of the plugin, struct consisting of the following fields, see MOUNTS
name
string
name of the mount.
description
string
description of the mount.
source
string
source of the mount.
destination
string
destination of the mount.
type
string
mount type.
options
string array
options of the mount.
devices
PluginDevice array
device of the plugin, (Linux only), struct consisting of the following fields, see DEVICES
name
string
name of the device.
description
string
description of the device.
path
string
path of the device.
env
PluginEnv array
env of the plugin, struct consisting of the following fields
name
string
name of the env.
description
string
description of the env.
value
string
value of the env.
args
PluginArgs
args of the plugin, struct consisting of the following fields
name
string
name of the env.
description
string
description of the env.
value
string array
values of the args.
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" } ] }