docker service scale
読む時間の目安: 2 分
説明
1 つまたは複数のレプリカサービスをスケール変更します。
API 1.24 以上
このコマンドを利用するには、クライアントとデーモンの API はともに、最低でも
1.24
である必要があります。
クライアント上においてdocker version
コマンドを実行して、クライアントとデーモンの API バージョンを確認してください。
Swarm このコマンドは Swarm オーケストレーターにおいて動作します。
利用方法
$ docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...]
追加説明
scale コマンドは、1 つまたは複数のレプリカサービスに対して、そのレプリカ数を所定数に設定することでスケール変更を行います。 このコマンドはグローバルモードのサービスに適用することはできません。 コマンドを実行するとすぐにプロンプトに戻ってきますが、サービスに対する実際のスケール変更には、ある程度の時間を要します。 Swarm モード内においてサービスをアクティブにしたまま、サービスのレプリカを停止するには、スケール数に 0 を設定します。
メモ
これはクラスター管理コマンドです。 したがって Swarm のマネージャーノード上で実行する必要があります。 マネージャーノードとワーカーノードについては Swarm モード の節を参照してください。
本コマンドの利用例については、以下に示す 利用例の節 を参照してください。
オプション
名前/省略形 | デフォルト | 説明 |
--detach , -d |
API 1.29 以上 サービス処理を待たずに即座に戻ります。 |
利用例
1 サービスのスケール変更
以下のコマンドは「frontend」サービスを 50 タスクにスケール変更します。
$ docker service scale frontend=50
frontend scaled to 50
以下のコマンド実行ではグローバルサービスを 10 タスクにスケール変更しようとして、エラー終了しています。
$ docker service create --mode global --name backend backend:latest
b4g08uwuairexjub6ome6usqh
$ docker service scale backend=10
backend: scale can only be used with replicated or replicated-job mode
その直後にdocker service ls
を実行してみると、実際のレプリカ数が以下のように確認できます。
$ docker service ls --filter name=frontend
ID NAME MODE REPLICAS IMAGE
3pr5mlvu3fh9 frontend replicated 15/50 nginx:alpine
サービスのスケール変更は docker service update
コマンドを使って行うこともできます。
以下に示すコマンドはいずれも同じことです。
$ docker service scale frontend=50
$ docker service update --replicas=50 frontend
複数サービスのスケール変更
docker service scale
コマンドは、複数のサービスに対してのタスク設定を一度に行うことができます。
以下に示す例は backend と frontend の両サービスのスケール変更を行います。
$ docker service scale backend=3 frontend=5
backend scaled to 3
frontend scaled to 5
$ docker service ls
ID NAME MODE REPLICAS IMAGE
3pr5mlvu3fh9 frontend replicated 5/5 nginx:alpine
74nzcxxjv6fq backend replicated 3/3 redis:3.0.6
上位コマンド
コマンド | 説明 |
---|---|
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 | サービスを更新します。 |