command: docker plugin set
short: Change settings for a plugin
long: |-
  Change settings for a plugin. The plugin must be disabled.

  The settings currently supported are:
   * env variables
   * source of mounts
   * path of devices
   * args
usage: docker plugin set PLUGIN KEY=VALUE [KEY=VALUE...]
pname: docker plugin
plink: docker_plugin.yaml
examples: |-
  ### Change an environment variable

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

  ```bash
  $ 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.

  ```bash
  $ 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.

  ```bash
  $ 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.

  ```bash
  $ 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"]
  ```
deprecated: false
min_api_version: "1.25"
experimental: false
experimentalcli: false
kubernetes: false
swarm: false

