docker service scale
描述 | 擴縮一個或多個複製服務 |
---|---|
用法 | docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...] |
Swarm 此命令適用於 Swarm 編排器。
描述
scale 命令允許您將一個或多個複製服務向上或向下擴縮到所需的副本數量。此命令不能應用於全域性模式的服務。該命令將立即返回,但服務的實際擴縮可能需要一些時間。要在保持服務在 swarm 中活躍的情況下停止服務的所有副本,您可以將擴縮設定為 0。
注意這是一個叢集管理命令,必須在 Swarm 管理器節點上執行。要了解管理器和工作器,請參閱文件中的Swarm 模式部分。
選項
選項 | 預設值 | 描述 |
---|---|---|
-d, --detach | API 1.29+ 立即退出,而不等待服務收斂 |
示例
擴縮單個服務
以下命令將“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` 命令允許您一次性設定多個服務所需的任務數量。以下示例同時擴縮後端和前端服務
$ 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:7.4.1