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 サービスを更新します。