Docker 服务规模
描述 | 扩展一个或多个复制的服务 |
---|---|
用法 | docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...] |
群此命令适用于 Swarm 编排器。
描述
使用 scale 命令,可以向上扩展一个或多个复制的服务 或减少到所需的副本数。此命令不能应用于 服务,这些服务是全局模式的。该命令将立即返回,但 服务的实际扩展可能需要一些时间。要停止 service 时,在 swarm 中保持 service 处于活动状态时,您可以将 scale 设置为 0。
注意
这是一个集群管理命令,必须在 swarm 上执行 Manager 节点。要了解 Manager 和 worker,请参阅 文档。
选项
选择 | 违约 | 描述 |
---|---|---|
-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
扩展多个服务
该命令允许您设置所需的
tasks 的任务。以下示例缩放
后端和前端服务: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