Merge pull request #205 from redpanda/rollback

Add 'docker service rollback' subcommand
Upstream-commit: 3c7ede6a68
Component: cli
This commit is contained in:
Sebastiaan van Stijn
2017-08-19 15:56:14 +02:00
committed by GitHub
19 changed files with 323 additions and 30 deletions
@@ -875,9 +875,10 @@ x3ti0erg11rjpg64m75kej2mz-hosttempl
* [service inspect](service_inspect.md)
* [service logs](service_logs.md)
* [service ls](service_ls.md)
* [service rm](service_rm.md)
* [service scale](service_scale.md)
* [service ps](service_ps.md)
* [service rm](service_rm.md)
* [service rollback](service_rollback.md)
* [service scale](service_scale.md)
* [service update](service_update.md)
<style>table tr > td:first-child { white-space: nowrap;}</style>
@@ -164,7 +164,8 @@ $ docker service inspect --format='{{.Spec.Mode.Replicated.Replicas}}' redis
* [service create](service_create.md)
* [service logs](service_logs.md)
* [service ls](service_ls.md)
* [service rm](service_rm.md)
* [service scale](service_scale.md)
* [service ps](service_ps.md)
* [service rm](service_rm.md)
* [service rollback](service_rollback.md)
* [service scale](service_scale.md)
* [service update](service_update.md)
@@ -79,7 +79,8 @@ fraction of a second no more than nine digits long. You can combine the
* [service create](service_create.md)
* [service inspect](service_inspect.md)
* [service ls](service_ls.md)
* [service rm](service_rm.md)
* [service scale](service_scale.md)
* [service ps](service_ps.md)
* [service rm](service_rm.md)
* [service rollback](service_rollback.md)
* [service scale](service_scale.md)
* [service update](service_update.md)
@@ -158,7 +158,8 @@ fm6uf97exkul: global 5/5
* [service create](service_create.md)
* [service inspect](service_inspect.md)
* [service logs](service_logs.md)
* [service rm](service_rm.md)
* [service scale](service_scale.md)
* [service ps](service_ps.md)
* [service rm](service_rm.md)
* [service rollback](service_rollback.md)
* [service scale](service_scale.md)
* [service update](service_update.md)
@@ -190,5 +190,6 @@ top.3: busybox
* [service logs](service_logs.md)
* [service ls](service_ls.md)
* [service rm](service_rm.md)
* [service rollback](service_rollback.md)
* [service scale](service_scale.md)
* [service update](service_update.md)
@@ -55,6 +55,7 @@ ID NAME MODE REPLICAS IMAGE
* [service inspect](service_inspect.md)
* [service logs](service_logs.md)
* [service ls](service_ls.md)
* [service scale](service_scale.md)
* [service ps](service_ps.md)
* [service rollback](service_rollback.md)
* [service scale](service_scale.md)
* [service update](service_update.md)
@@ -0,0 +1,94 @@
---
title: "service rollback"
description: "The service rollback command description and usage"
keywords: "service, rollback"
---
<!-- This file is maintained within the docker/cli Github
repository at https://github.com/docker/cli/. Make all
pull requests against that repo. If you see this file in
another repository, consider it read-only there, as it will
periodically be overwritten by the definitive file. Pull
requests which include edits to this file in other repositories
will be rejected.
-->
# service rollback
```markdown
Usage: docker service rollback SERVICE
Revert changes to a service's configuration
Options:
-d, --detach Exit immediately instead of waiting for the service to converge (default true)
--help Print usage
-q, --quiet Suppress progress output
```
## Description
Roll back a specified service to its previous version from the swarm. This command must be run
targeting a manager node.
## 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:
```bash
$ docker service create --name my-service -p 8080:80 nginx:alpine
```
Confirm that the service is running with a single replica:
```bash
$ 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:
```bash
$ 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:
```bash
$ 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)
@@ -101,5 +101,6 @@ ID NAME MODE REPLICAS IMAGE
* [service logs](service_logs.md)
* [service ls](service_ls.md)
* [service rm](service_rm.md)
* [service rollback](service_rollback.md)
* [service ps](service_ps.md)
* [service update](service_update.md)
@@ -174,9 +174,9 @@ $ docker service update --mount-rm /somewhere myservice
myservice
```
### Rolling back to the previous version of a service
### Roll back to the previous version of a service
Use the `--rollback` option to roll back to the previous version of the service.
Use the `--rollback` option to roll back to the previous version of the service.
This will revert the service to the configuration that was in place before the most recent `docker service update` command.
@@ -193,7 +193,7 @@ ID NAME MODE REPLICAS IMAGE
80bvrzp6vxf3 web replicated 0/5 nginx:alpine
```
Roll back the `web` service...
Roll back the `web` service...
```bash
$ docker service update --rollback web
@@ -266,4 +266,5 @@ See [`service create`](./service_create.md#templating) for the reference.
* [service ls](service_ls.md)
* [service ps](service_ps.md)
* [service rm](service_rm.md)
* [service rollback](service_rollback.md)
* [service scale](service_scale.md)