plugin_create
Create and install a local Docker plugin from a directory containing config.json and rootfs, optionally gzipped.
Instructions
Build a plugin from a local plugin data directory and install it under name.
The counterpart to plugin_install, which pulls an already-published plugin from a registry:
use this only for a plugin rootfs you built yourself, and plugin_install for anything on a
registry. plugin_data_dir is read on the machine running this server (not on the daemon
host), must already contain a config.json manifest and a rootfs directory, and is tarred
client-side and posted to the daemon — in a container it must be a bind mount or the path
resolves to nothing. The new plugin is created disabled: call plugin_configure for any
settings it declares, then plugin_enable to activate it. Raises if the directory is missing
or lacks config.json/rootfs, or if name is already installed (remove it first with
plugin_remove). Unlike the other create tools, this stamps no provenance labels — the Engine
API's plugin-create call accepts none.
args:
name - Local name for the plugin, author/name:tag; the :latest tag is optional and
is the default if omitted
plugin_data_dir - Path on this server's filesystem to the plugin data directory
(containing config.json and rootfs)
gzip - Compress the uploaded directory with gzip (default False)
returns: dict - The created plugin's attrs ({"Id", "Name", "Enabled", "Settings", "Config"})
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| gzip | No | ||
| name | Yes | ||
| plugin_data_dir | Yes |