Escalar múltiplos serviços
Neste passo, aprenderemos como escalar múltiplos serviços simultaneamente. Isso é útil quando você tem vários serviços que precisam ser escalados juntos, por exemplo, diferentes componentes de uma aplicação.
Primeiro, vamos criar outro serviço. Criaremos um serviço chamado my-nginx-service usando a imagem nginx com 1 réplica. Precisamos primeiro fazer o pull da imagem nginx.
docker pull nginx
Você deve ver a saída indicando que a imagem nginx está sendo baixada.
Agora, crie o my-nginx-service.
docker service create --name my-nginx-service --replicas 1 nginx
Você deve ver a saída confirmando a criação do my-nginx-service.
Agora temos dois serviços: my-alpine-service (atualmente escalado para 0) e my-nginx-service (escalado para 1). Vamos escalar ambos os serviços de uma vez. Escalaremos my-alpine-service para 2 réplicas e my-nginx-service para 3 réplicas.
docker service scale my-alpine-service=2 my-nginx-service=3
Após executar este comando, o Docker Swarm atualizará ambos os serviços de acordo com as contagens de réplicas especificadas. Você deve ver a saída indicando que ambos os serviços estão sendo atualizados.
Para verificar se ambos os serviços foram escalados, você pode listar os serviços.
docker service ls
Você deve agora ver my-alpine-service listado com 2 réplicas e my-nginx-service listado com 3 réplicas.
Você também pode verificar as tarefas para cada serviço individualmente para ver os contêineres em execução.
docker service ps my-alpine-service
Isso mostrará as 2 tarefas em execução para my-alpine-service.
docker service ps my-nginx-service
Isso mostrará as 3 tarefas em execução para my-nginx-service.
Finalmente, vamos limpar os serviços que criamos. Podemos remover ambos os serviços usando o comando docker service rm.
docker service rm my-alpine-service my-nginx-service
Você deve ver a saída confirmando a remoção de ambos os serviços.
Para verificar se os serviços foram removidos, liste os serviços novamente.
docker service ls
Não deve haver serviços listados.