Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker Swarm Deploy

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers. →

Docker Swarm Deploy

Uma prévia sobre deploy no docker swarm.
github: https://github.com/felipecwb/demo-swarm-definitions
docker-machine: https://docs.docker.com/machine

Avatar for Felipe Francisco

Felipe Francisco

April 27, 2019

Other Decks in Technology

Transcript

  1. Docker - Parece, mas não é sistema de virtualização de

    Sistema Operacional. Ele se parece pelo fato de podermos gerar imagens, rodar distribuições ou configurações distintas dentro do computador. Mas a diferença se encontra no fato dele não virtualizar a camada de hardware e kernel do S.O. mas de compartilhar. Como um chroot no linux ou jails no *BSD.
  2. Docker - Images: São como pacotes zip fechados contendo praticamente

    o necessário para executar uma aplicação. - Containers: Seriam as imagens em execução, um processo ou comando dentro delas. - Volumes: Tem dois propósitos. Compartilhar dados entre host e containers e Guardar dados de forma permanente. - Networks: Adicionar uma conexão de rede interna ou externa com o container em execução.
  3. Docker Compose Como algumas aplicações usam mais de um container

    para funcionar como: a aplicação, banco de dados, cache e etc. É muito trabalhoso colocar tudo isso em linha de comando, configurar, conectar serviços. É uma ferramenta que nasceu para a criação e execução de múltiplos contêineres de aplicação, através de arquivos de configuração.
  4. Docker Swarm Swarm é um grupo de máquinas que estão

    rodando docker juntos num cluster. É um orquestrador de contêineres que resolve disponibilização de serviços, execução de tarefas, garante número réplicas, distribuição entre máquinas.
  5. Docker Swarm - Nodes: São máquinas físicas ou virtuais que

    possuem o docker engine em execução conectado com swarm. Manager Nodes: gerenciam a execução das tarefas. Worker Nodes: recebem e executam a tarefa. - Multi-Host Networks: O Swarm gerencia as redes no escopo do swarm para que todos tenham conectividade entre si, mesmo dentro de sub-redes. - Services: São definições de tarefas a serem executadas nos manager ou worker nodes. Quando você cria um serviço é especificado a imagem, commando, redes, publicação, etc. - Tasks: São as execuções dos serviços que foram declarados. É uma tarefa de executar e monitorar um container com todas as configurações dos serviços
  6. Criar Docker Swarm Para iniciar o docker em modo swarm:

    docker swarm init --advertise-addr “$ip_publico” Para pegar um token e adicionar workers: docker swarm join-token worker Para adicionar um workers no swarm: docker swarm join --token $TOKEN $IP:2377
  7. O Deploy no Docker Swarm Apenas criar uma service: docker

    service create \ --name global_service \ --mode global \ nginx
  8. Docker Stack Deploy É como se fosse um docker-compose, mas

    ao invés dele criar vários containers, ele irá criar vários serviços para serem executados no swarm. Ou seja, quase sempre podemos pegar o mesmo arquivo do docker- compose e usar isso para publicar nossos serviços. o comando é: docker stack deploy \ -c docker-compose.yml