command: docker plugin upgrade
short: Upgrade an existing plugin
long: |-
  Upgrades an existing plugin to the specified remote plugin image. If no remote
  is specified, Docker will re-pull the current image and use the updated version.
  All existing references to the plugin will continue to work.
  The plugin must be disabled before running the upgrade.
usage: docker plugin upgrade [OPTIONS] PLUGIN [REMOTE]
pname: docker plugin
plink: docker_plugin.yaml
options:
- option: disable-content-trust
  value_type: bool
  default_value: "true"
  description: Skip image verification
  deprecated: false
  experimental: false
  experimentalcli: false
  kubernetes: false
  swarm: false
- option: grant-all-permissions
  value_type: bool
  default_value: "false"
  description: Grant all permissions necessary to run the plugin
  deprecated: false
  experimental: false
  experimentalcli: false
  kubernetes: false
  swarm: false
- option: skip-remote-check
  value_type: bool
  default_value: "false"
  description: |
    Do not check if specified remote plugin matches existing plugin image
  deprecated: false
  experimental: false
  experimentalcli: false
  kubernetes: false
  swarm: false
examples: |-
  The following example installs `vieus/sshfs` plugin, uses it to create and use
  a volume, then upgrades the plugin.

  ```bash
  $ docker plugin install vieux/sshfs DEBUG=1

  Plugin "vieux/sshfs:next" is requesting the following privileges:
   - network: [host]
   - device: [/dev/fuse]
   - capabilities: [CAP_SYS_ADMIN]
  Do you grant the above permissions? [y/N] y
  vieux/sshfs:next

  $ docker volume create -d vieux/sshfs:next -o sshcmd=root@1.2.3.4:/tmp/shared -o password=XXX sshvolume

  sshvolume

  $ docker run -it -v sshvolume:/data alpine sh -c "touch /data/hello"

  $ docker plugin disable -f vieux/sshfs:next

  viex/sshfs:next

  # Here docker volume ls doesn't show 'sshfsvolume', since the plugin is disabled
  $ docker volume ls

  DRIVER              VOLUME NAME

  $ docker plugin upgrade vieux/sshfs:next vieux/sshfs:next

  Plugin "vieux/sshfs:next" is requesting the following privileges:
   - network: [host]
   - device: [/dev/fuse]
   - capabilities: [CAP_SYS_ADMIN]
  Do you grant the above permissions? [y/N] y
  Upgrade plugin vieux/sshfs:next to vieux/sshfs:next

  $ docker plugin enable vieux/sshfs:next

  viex/sshfs:next

  $ docker volume ls

  DRIVER              VOLUME NAME
  viuex/sshfs:next    sshvolume

  $ docker run -it -v sshvolume:/data alpine sh -c "ls /data"

  hello
  ```
deprecated: false
min_api_version: "1.26"
experimental: false
experimentalcli: false
kubernetes: false
swarm: false

