Gerenciando e Escalando Serviços do Swarm
Implantando um Serviço
Para implantar um serviço no Docker Swarm, você pode usar o comando docker service create. Por exemplo, para implantar um servidor web Nginx, você pode executar o seguinte comando:
docker service create --name nginx -p 80:80 nginx:latest
Isso criará um novo serviço chamado "nginx" e o implantará no swarm. O serviço exporia a porta 80 no host e a encaminhará para a porta 80 no contêiner.
Escalando um Serviço
Você pode escalar o número de réplicas (tarefas) de um serviço usando o comando docker service scale. Por exemplo, para escalar o serviço "nginx" para 5 réplicas, você pode executar:
docker service scale nginx=5
Isso criará 4 tarefas adicionais para o serviço "nginx", e o nó gerente as agendará automaticamente nos nós trabalhadores disponíveis.
Atualizando um Serviço
Você pode atualizar a configuração de um serviço usando o comando docker service update. Por exemplo, para atualizar o serviço "nginx" para usar uma versão de imagem diferente, você pode executar:
docker service update --image nginx:1.19 nginx
Isso atualizará o serviço "nginx" para usar a imagem "nginx:1.19".
Monitorando Serviços do Swarm
Você pode monitorar o status dos seus serviços do swarm usando os comandos docker service ls e docker service ps. O comando docker service ls mostrará uma lista de todos os serviços em execução no swarm, enquanto o comando docker service ps mostrará o status de cada tarefa dentro de um serviço.
## Listar todos os serviços
docker service ls
## Listar tarefas para um serviço específico
docker service ps nginx
Desativando Nós
Se você precisar realizar manutenção em um nó, pode "desativá-lo", o que fará com que o gerente agende novamente quaisquer tarefas em execução naquele nó para outros nós disponíveis. Você pode fazer isso usando o comando docker node update:
docker node update --availability drain <NODE-ID>
Substitua <NODE-ID> pelo ID do nó que você deseja desativar.
Isso cobre os fundamentos de gerenciamento e escalonamento de serviços do Docker Swarm. Com este conhecimento, você deve ser capaz de implantar, escalar e manter suas aplicações em execução em um Docker Swarm.