Skip to content

Docker Swarm

Bruno Ramos edited this page Feb 28, 2022 · 1 revision

Docker Swarm

Conceitos

  • Prover alta disponibilidade
  • Orquestração de Containers
  • Cluster nativo(built in Docker)
  • Simples, fácil instalação
  • Limitado comparado com outras ferramentas, exemplo K8S e etc..

Responsável por fazer a orquestração dos containers em caso de indisponibilidade de uma máquina que possua o container

Arquitetura

  • Nodes: Instâncias de docker engine que participam de um cluster swarm;
  • Manager Node: Executam a orquestração e gerenciamento de um cluster(somente um manager por cluster);
  • Worker Node: Recebe e executa tarefas disparadas pelo manager, o manager node também é um worker node(default);
  • Service: Definição de tarefas para serem executadas no manager ou worker nodes.
  • Task: Processo executado dentro do container;
  • Load Balancer: Expor services disponíveis para o “mundo externo”

HandsON

Criando o cluster

Inicializar o cluster swarm através do manager, no qual será gerado um TOKEN
$ docker swarm init –advertise-addr 192.168.1.2

Inserir o TOKEN gerado e rodar o comando nos hosts worker1 e 2
$ docker swarm join –token <TOKEN> 192.168.1.2:2377

No host manager, podemos verificar os nodes do cluster
$ docker node ls

Iniciar um serviço no cluster, o publish é utilizado para expor a porta para fora do cluster
$ docker service create –name demo –publish 80:80 nginx

Listar os services
$ docker service ls

Listar detalhes do service
$ docker service ps demo

Escalar o service
$ docker service scale demo=3

Visualizar o serviço distribuído no cluster
$ docker service ps demo

Abrir a página do Nginx para teste http://localhost:8090

Clone this wiki locally