Escalar múltiples servicios
En este paso, aprenderemos cómo escalar múltiples servicios simultáneamente. Esto es útil cuando tienes varios servicios que necesitan ser escalados juntos, por ejemplo, diferentes componentes de una aplicación.
Primero, creemos otro servicio. Crearemos un servicio llamado my-nginx-service
utilizando la imagen nginx
con 1 réplica. Primero necesitamos descargar la imagen nginx
.
docker pull nginx
Deberías ver una salida que indique que se está descargando la imagen nginx
.
Ahora, creemos el servicio my-nginx-service
.
docker service create --name my-nginx-service --replicas 1 nginx
Deberías ver una salida que confirme la creación del servicio my-nginx-service
.
Ahora tenemos dos servicios: my-alpine-service
(actualmente escalado a 0) y my-nginx-service
(escalado a 1). Escalemos ambos servicios a la vez. Escalaremos my-alpine-service
a 2 réplicas y my-nginx-service
a 3 réplicas.
docker service scale my-alpine-service=2 my-nginx-service=3
Después de ejecutar este comando, Docker Swarm actualizará ambos servicios de acuerdo con la cantidad de réplicas especificadas. Deberías ver una salida que indique que ambos servicios se están actualizando.
Para verificar que ambos servicios se han escalado, puedes listar los servicios.
docker service ls
Ahora deberías ver my-alpine-service
en la lista con 2 réplicas y my-nginx-service
en la lista con 3 réplicas.
También puedes comprobar las tareas de cada servicio individualmente para ver los contenedores en ejecución.
docker service ps my-alpine-service
Esto mostrará las 2 tareas en ejecución para my-alpine-service
.
docker service ps my-nginx-service
Esto mostrará las 3 tareas en ejecución para my-nginx-service
.
Finalmente, limpiemos los servicios que creamos. Podemos eliminar ambos servicios utilizando el comando docker service rm
.
docker service rm my-alpine-service my-nginx-service
Deberías ver una salida que confirme la eliminación de ambos servicios.
Para verificar que los servicios se han eliminado, lista los servicios nuevamente.
docker service ls
No debería haber servicios en la lista.