2016-06-17 19:51:17 -04:00
|
|
|
<!--[metadata]>
|
|
|
|
+++
|
|
|
|
title = "service update"
|
|
|
|
description = "The service update command description and usage"
|
|
|
|
keywords = ["service, update"]
|
|
|
|
[menu.main]
|
|
|
|
parent = "smn_cli"
|
|
|
|
+++
|
|
|
|
<![end-metadata]-->
|
|
|
|
|
|
|
|
# service update
|
|
|
|
|
|
|
|
```Markdown
|
2016-07-07 14:43:18 -04:00
|
|
|
Usage: docker service update [OPTIONS] SERVICE
|
2016-06-17 19:51:17 -04:00
|
|
|
|
|
|
|
Update a service
|
|
|
|
|
|
|
|
Options:
|
2016-07-22 14:35:51 -04:00
|
|
|
--args string Service command args
|
|
|
|
--constraint-add value Add or update placement constraints (default [])
|
|
|
|
--constraint-rm value Remove a constraint (default [])
|
2016-07-25 05:38:01 -04:00
|
|
|
--container-label-add value Add or update container labels (default [])
|
|
|
|
--container-label-rm value Remove a container label by its key (default [])
|
2016-07-22 14:35:51 -04:00
|
|
|
--endpoint-mode string Endpoint mode (vip or dnsrr)
|
|
|
|
--env-add value Add or update environment variables (default [])
|
|
|
|
--env-rm value Remove an environment variable (default [])
|
2016-08-01 21:34:51 -04:00
|
|
|
--group-add value Add additional user groups to the container (default [])
|
|
|
|
--group-rm value Remove previously added user groups from the container (default [])
|
2016-07-22 14:35:51 -04:00
|
|
|
--help Print usage
|
|
|
|
--image string Service image tag
|
|
|
|
--label-add value Add or update service labels (default [])
|
|
|
|
--label-rm value Remove a label by its key (default [])
|
|
|
|
--limit-cpu value Limit CPUs (default 0.000)
|
|
|
|
--limit-memory value Limit Memory (default 0 B)
|
|
|
|
--log-driver string Logging driver for service
|
|
|
|
--log-opt value Logging driver options (default [])
|
|
|
|
--mount-add value Add or update a mount on a service
|
|
|
|
--mount-rm value Remove a mount by its target path (default [])
|
|
|
|
--name string Service name
|
|
|
|
--publish-add value Add or update a published port (default [])
|
|
|
|
--publish-rm value Remove a published port by its target port (default [])
|
|
|
|
--replicas value Number of tasks (default none)
|
|
|
|
--reserve-cpu value Reserve CPUs (default 0.000)
|
|
|
|
--reserve-memory value Reserve Memory (default 0 B)
|
|
|
|
--restart-condition string Restart when condition is met (none, on-failure, or any)
|
|
|
|
--restart-delay value Delay between restart attempts (default none)
|
|
|
|
--restart-max-attempts value Maximum number of restarts before giving up (default none)
|
|
|
|
--restart-window value Window used to evaluate the restart policy (default none)
|
|
|
|
--stop-grace-period value Time to wait before force killing a container (default none)
|
|
|
|
--update-delay duration Delay between updates
|
|
|
|
--update-failure-action string Action on update failure (pause|continue) (default "pause")
|
|
|
|
--update-parallelism uint Maximum number of tasks updated simultaneously (0 to update all at once) (default 1)
|
2016-08-02 09:58:02 -04:00
|
|
|
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
|
2016-07-22 14:35:51 -04:00
|
|
|
--with-registry-auth Send registry authentication details to Swarm agents
|
|
|
|
-w, --workdir string Working directory inside the container
|
2016-06-17 19:51:17 -04:00
|
|
|
```
|
|
|
|
|
|
|
|
Updates a service as described by the specified parameters. This command has to be run targeting a manager node.
|
|
|
|
The parameters are the same as [`docker service create`](service_create.md). Please look at the description there
|
|
|
|
for further information.
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
### Update a service
|
|
|
|
|
|
|
|
```bash
|
2016-07-14 05:22:18 -04:00
|
|
|
$ docker service update --limit-cpu 2 redis
|
2016-06-17 19:51:17 -04:00
|
|
|
```
|
|
|
|
|
2016-08-15 17:51:15 -04:00
|
|
|
### Adding and removing mounts
|
|
|
|
|
2016-09-09 20:29:32 -04:00
|
|
|
Use the `--mount-add` or `--mount-rm` options add or remove a service's bind-mounts
|
|
|
|
or volumes.
|
2016-08-15 17:51:15 -04:00
|
|
|
|
2016-09-09 20:29:32 -04:00
|
|
|
The following example creates a service which mounts the `test-data` volume to
|
|
|
|
`/somewhere`. The next step updates the service to also mount the `other-volume`
|
|
|
|
volume to `/somewhere-else`volume, The last step unmounts the `/somewhere` mount
|
|
|
|
point, effectively removing the `test-data` volume. Each command returns the
|
|
|
|
service name.
|
|
|
|
|
|
|
|
- The `--mount-add` flag takes the same parameters as the `--mount` flag on
|
|
|
|
`service create`. Refer to the [volumes and
|
|
|
|
bind-mounts](service_create.md#volumes-and-bind-mounts-mount) section in the
|
|
|
|
`service create` reference for details.
|
|
|
|
|
|
|
|
- The `--mount-rm` flag takes the `target` path of the mount.
|
2016-08-15 17:51:15 -04:00
|
|
|
|
|
|
|
```bash
|
2016-09-09 20:29:32 -04:00
|
|
|
$ docker service create \
|
|
|
|
--name=myservice \
|
|
|
|
--mount \
|
|
|
|
type=volume,source=test-data,target=/somewhere \
|
|
|
|
nginx:alpine \
|
|
|
|
myservice
|
2016-08-15 17:51:15 -04:00
|
|
|
|
|
|
|
myservice
|
|
|
|
|
2016-09-09 20:29:32 -04:00
|
|
|
$ docker service update \
|
|
|
|
--mount-add \
|
|
|
|
type=volume,source=other-volume,target=/somewhere-else \
|
|
|
|
myservice
|
2016-08-15 17:51:15 -04:00
|
|
|
|
|
|
|
myservice
|
|
|
|
|
|
|
|
$ docker service update --mount-rm /somewhere myservice
|
|
|
|
|
|
|
|
myservice
|
|
|
|
```
|
|
|
|
|
2016-06-17 19:51:17 -04:00
|
|
|
## Related information
|
|
|
|
|
|
|
|
* [service create](service_create.md)
|
|
|
|
* [service inspect](service_inspect.md)
|
2016-07-19 17:01:31 -04:00
|
|
|
* [service ps](service_ps.md)
|
2016-06-17 19:51:17 -04:00
|
|
|
* [service ls](service_ls.md)
|
|
|
|
* [service rm](service_rm.md)
|