1、docker service scale 简介
docker service scale
命令是用于调整服务的副本数量。它允许您增加或减少服务的副本数量,以便根据需要进行扩展或缩减。
scale命令允许将一个或多个复制的服务的副本数量扩展或缩减到所需的数量。该命令不能应用于处于全局模式的服务。该命令将立即返回,但实际上扩展或缩减服务的副本数量可能需要一些时间。如果希望保持服务在集群中处于活动状态,同时停止所有副本,可以将副本数量设置为0。
注意:
此命令是集群管理命令,必须在集群管理器节点上执行。要了解经理和工人,请参阅文档中的Swarm mode部分。
参考文档:https://docs.docker.com/engine/reference/commandline/service_scale/
2、docker service scale 语法
docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...]
3、docker service scale 命令
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
2)扩展多个服务
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
这样可以同时将后端服务扩展到3个任务,将前端服务扩展到5个任务。
4、命令选项
选项 | 描述 |
--detach , -d | 立即退出,而不是等待服务收敛 |
5、子命令
命令 | 描述 |
docker service create | 创建新的服务 |
docker service inspect | 显示一个或多个服务的详细信息 |
docker service logs | 获取一个服务或任务的日志 |
docker service ls | 列出服务 |
docker service ps | 列出一个或多个服务的任务 |
docker service rm | 删除一个或多个服务 |
docker service rollback | 恢复服务配置的更改 |
docker service scale | 缩放一个或多个复制的服务 |
docker service update | 更新一个服务的配置 |