码头服务规模

描述扩展一项或多项复制服务
用法docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...]

Swarm 此命令与 Swarm 协调器配合使用。

描述

scale 命令使您能够将一项或多项复制服务向上或向下扩展到所需的副本数量。该命令不能应用于全局模式的服务。该命令将立即返回,但服务的实际扩展可能需要一些时间。要停止服务的所有副本,同时保持服务在集群中处于活动状态,您可以将规模设置为 0。

笔记

这是集群管理命令,必须在 swarm manager 节点上执行。要了解管理器和工作器,请参阅 文档中的Swarm 模式部分。

选项

选项默认描述
-d, --detachAPI 1.29+ 立即退出而不是等待服务收敛

例子

扩展单一服务

以下命令将“前端”服务扩展到 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:3.0.6