Criar um serviço Docker Swarm
Nesta etapa, aprenderemos como criar um serviço Docker Swarm. Um serviço Docker Swarm é um conjunto de tarefas que são executadas em um cluster Swarm. Cada tarefa é uma instância de um contêiner. Os serviços são o conceito central do Docker Swarm, permitindo que você defina quantas réplicas de uma imagem de contêiner devem estar em execução e como elas devem ser atualizadas.
Antes de criar um serviço, precisamos inicializar um Docker Swarm. Como estamos executando em uma única VM, inicializaremos um Swarm de nó único.
Primeiro, vamos inicializar o Swarm:
docker swarm init --advertise-addr 127.0.0.1
Você deve ver uma saída indicando que o Swarm foi inicializado e que o nó atual agora é um manager.
Agora, vamos criar um serviço usando a imagem nginx. Vamos nomear o serviço my-nginx e especificar que queremos 3 réplicas do contêiner nginx em execução.
Primeiro, faça o pull da imagem nginx para garantir que ela esteja disponível localmente:
docker pull nginx:latest
Agora, crie o serviço:
docker service create --name my-nginx --replicas 3 nginx:latest
Este comando cria um novo serviço chamado my-nginx com 3 réplicas usando a imagem nginx:latest. O Docker Swarm distribuirá automaticamente essas réplicas pelos nós no Swarm (neste caso, apenas nosso único nó).
Para verificar se o serviço foi criado e as réplicas estão em execução, você pode listar os serviços:
docker service ls
Você deve ver my-nginx listado com 3/3 réplicas em execução.
Você também pode inspecionar as tarefas associadas ao serviço:
docker service ps my-nginx
Este comando mostrará as tarefas individuais (contêineres) que compõem o serviço my-nginx, seu estado atual e o nó em que estão sendo executadas. Você deve ver 3 tarefas no estado Running.