Docker CLI docker service scale 常用命令

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker service scale 常用命令。

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

更新一个服务的配置

推荐阅读
cjavapy编程之路首页