Compartir comentarios
Las respuestas se generan en base a la documentación.

docker service scale

DescripciónEscala uno o múltiples servicios replicados
Usodocker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...]

Swarm Este comando funciona con el orquestador de Swarm.

Descripción

El comando scale te permite escalar uno o más servicios replicados, ya sea aumentando o disminuyendo su tamaño al número deseado de réplicas. Este comando no se puede aplicar a servicios en modo global (global mode). El comando volverá inmediatamente, pero el escalado real del servicio puede tomar algún tiempo. Para detener todas las réplicas de un servicio manteniendo el servicio activo en el swarm, puedes establecer el escalado a 0.

Note

Este es un comando de gestión de clústeres y debe ejecutarse en un nodo administrador de Swarm (manager node). Para obtener más información sobre administradores y trabajadores, consulta la sección del modo Swarm en la documentación.

Opciones

OpciónPredeterminadoDescripción
-d, --detachAPI 1.29+ Sale inmediatamente en lugar de esperar a que el servicio converja

Ejemplos

Escalar un solo servicio

El siguiente comando escala el servicio "frontend" a 50 tareas.

$ docker service scale frontend=50

frontend scaled to 50

El siguiente comando intenta escalar un servicio global a 10 tareas y devuelve un error.

$ 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

Inmediatamente después, ejecuta docker service ls para ver el número real de réplicas.

$ docker service ls --filter name=frontend

ID            NAME      MODE        REPLICAS  IMAGE
3pr5mlvu3fh9  frontend  replicated  15/50     nginx:alpine

También puedes escalar un servicio utilizando el comando docker service update. Los siguientes comandos son equivalentes:

$ docker service scale frontend=50
$ docker service update --replicas=50 frontend

Escalar múltiples servicios

El comando docker service scale te permite establecer el número deseado de tareas para múltiples servicios a la vez. El siguiente ejemplo escala tanto el servicio backend como el 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:7.4.1