DockerCLI/docs/reference/commandline/service_rollback.md

87 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

# service rollback
<!---MARKER_GEN_START-->
Revert changes to a service's configuration
### Options
| Name | Type | Default | Description |
|:-----------------|:-------|:--------|:----------------------------------------------------------------|
| `-d`, `--detach` | `bool` | | Exit immediately instead of waiting for the service to converge |
| `-q`, `--quiet` | `bool` | | Suppress progress output |
<!---MARKER_GEN_END-->
## Description
Roll back a specified service to its previous version from the swarm.
> [!NOTE]
> This is a cluster management command, and must be executed on a swarm
> manager node. To learn about managers and workers, refer to the
> [Swarm mode section](https://docs.docker.com/engine/swarm/) in the
> documentation.
## Examples
### Roll back to the previous version of a service
Use the `docker service rollback` command to roll back to the previous version
of a service. After executing this command, the service is reverted to the
configuration that was in place before the most recent `docker service update`
command.
The following example creates a service with a single replica, updates the
service to use three replicas, and then rolls back the service to the
previous version, having one replica.
Create a service with a single replica:
```console
$ docker service create --name my-service -p 8080:80 nginx:alpine
```
Confirm that the service is running with a single replica:
```console
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
xbw728mf6q0d my-service replicated 1/1 nginx:alpine *:8080->80/tcp
```
Update the service to use three replicas:
```console
$ docker service update --replicas=3 my-service
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
xbw728mf6q0d my-service replicated 3/3 nginx:alpine *:8080->80/tcp
```
Now roll back the service to its previous version, and confirm it is
running a single replica again:
```console
$ docker service rollback my-service
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
xbw728mf6q0d my-service replicated 1/1 nginx:alpine *:8080->80/tcp
```
## Related commands
* [service create](service_create.md)
* [service inspect](service_inspect.md)
* [service logs](service_logs.md)
* [service ls](service_ls.md)
* [service ps](service_ps.md)
* [service rm](service_rm.md)
* [service scale](service_scale.md)
* [service update](service_update.md)