docker service scale
| Descripción | Escala uno o múltiples servicios replicados |
|---|---|
| Uso | docker 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.
NoteEste 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ón | Predeterminado | Descripción |
|---|---|---|
-d, --detach | API 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