docker service rollback
読む時間の目安: 2 分
説明
サービス設定に対しての変更を元に戻します。
API 1.31 以上
このコマンドを利用するには、クライアントとデーモンの API はともに、最低でも
1.31
である必要があります。
クライアント上においてdocker version
コマンドを実行して、クライアントとデーモンの API バージョンを確認してください。
Swarm このコマンドは Swarm オーケストレーターにおいて動作します。
利用方法
$ docker service rollback [オプション] SERVICE
追加説明
Swarm 内の指定したサービスを、以前のバージョンにロールバックします。
メモ
これはクラスター管理コマンドです。 したがって Swarm のマネージャーノード上で実行する必要があります。 マネージャーノードとワーカーノードについては Swarm モード の節を参照してください。
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
名前/省略形 | デフォルト | 説明 |
--detach , -d |
API 1.29 以上 サービス終了を待たずに即座に戻ります。 |
|
--quiet , -q |
経過出力を省略します。 |
利用例
サービスの前バージョンへのロールバック
docker service rollback
コマンドを使えば、サービスを前バージョンに戻すことができます。
このコマンドの実行後は、最後にdocker service update
コマンドを実行した直前の設定状態に戻ります。
以下の利用例では、1 つのレプリカからなる 1 つのサービスを生成します。 そして 3 つのレプリカを利用するようにアップデートします。 その後に、このサービスを前バージョンにロールバックします。 これによりレプリカ数は 1 に戻ります。
まず 1 つのレプリカからなる 1 つのサービスを生成します。
$ docker service create --name my-service -p 8080:80 nginx:alpine
このサービスが 1 つのレプリカにより実行していることを確認します。
$ docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
xbw728mf6q0d my-service replicated 1/1 nginx:alpine *:8080->80/tcp
次にこのサービスのレプリカ数を 3 にアップデートします。
$ 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
そしてこのサービスを前バージョンにロールバックします。 確認してみると、再度レプリカ数が 1 になっていることがわかります。
$ 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
上位コマンド
コマンド | 説明 |
---|---|
docker service | サービスを管理します。 |
関連コマンド
コマンド | 説明 |
docker service create | 新たなサービスを生成します。 |
docker service inspect | サービスの詳細情報を表示します。 |
docker service logs | サービスまたはタスクのログを取得します。 |
docker service ls | サービス一覧を表示します。 |
docker service ps | 1 つまたは複数サービスのタスクを一覧表示します。 |
docker service rm | 1 つまたは複数のサービスを削除します。 |
docker service rollback | サービス設定に対しての変更を元に戻します。 |
docker service scale | 1 つまたは複数のレプリカサービスをスケール変更します。 |
docker service update | サービスを更新します。 |