docker plugin set

Estimated reading time: 3 minutes

Edge only: This is the CLI reference for Docker CE Edge versions. Some of these options may not be available to Docker CE stable or Docker EE. You can view the stable version of this CLI reference or learn about Docker CE Edge.

Description

Change settings for a plugin

Usage

docker plugin set PLUGIN KEY=VALUE [KEY=VALUE...]

Parent command

Command Description
docker plugin Manage plugins
Command Description
docker plugin create Create a plugin from a rootfs and configuration. Plugin data directory must contain config.json and rootfs directory.
docker plugin disable Disable a plugin
docker plugin enable Enable a plugin
docker plugin inspect Display detailed information on one or more plugins
docker plugin install Install a plugin
docker plugin ls List plugins
docker plugin push Push a plugin to a registry
docker plugin rm Remove one or more plugins
docker plugin set Change settings for a plugin
docker plugin upgrade Upgrade an existing plugin

Extended description

Change settings for a plugin. The plugin must be disabled.

The settings currently supported are:

  • env variables
  • source of mounts
  • path of devices
  • arg

Examples

Change an environment variable

The following example change the env variable DEBUG on the sample-volume-plugin plugin.

$ docker plugin inspect -f {{.Settings.Env}} tiborvass/sample-volume-plugin
[DEBUG=0]

$ docker plugin set tiborvass/sample-volume-plugin DEBUG=1

$ docker plugin inspect -f {{.Settings.Env}} tiborvass/sample-volume-plugin
[DEBUG=1]

Change the source of a mount

The following example change the source of the mymount mount on the myplugin plugin.

$ docker plugin inspect -f '{{with $mount := index .Settings.Mounts 0}}{{$mount.Source}}{{end}}' myplugin
/foo

$ docker plugins set myplugin mymount.source=/bar

$ docker plugin inspect -f '{{with $mount := index .Settings.Mounts 0}}{{$mount.Source}}{{end}}' myplugin
/bar

Note: Since only source is settable in mymount, docker plugins set mymount=/bar myplugin would work too.

Change a device path

The following example change the path of the mydevice device on the myplugin plugin.

$ docker plugin inspect -f '{{with $device := index .Settings.Devices 0}}{{$device.Path}}{{end}}' myplugin
/dev/foo

$ docker plugins set myplugin mydevice.path=/dev/bar

$ docker plugin inspect -f '{{with $device := index .Settings.Devices 0}}{{$device.Path}}{{end}}' myplugin
/dev/bar

Note: Since only path is settable in mydevice, docker plugins set mydevice=/dev/bar myplugin would work too.

Change the source of the arguments

The following example change the value of the args on the myplugin plugin.

$ docker plugin inspect -f '{{.Settings.Args}}' myplugin
["foo", "bar"]

$ docker plugins set myplugin myargs="foo bar baz"

$ docker plugin inspect -f '{{.Settings.Args}}' myplugin
["foo", "bar", "baz"]