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

Docker no desenvolvimento

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

Docker no desenvolvimento

Avatar for Leandro Lourenci

Leandro Lourenci

June 23, 2017

Other Decks in Programming

Transcript

  1. Containers não são VMs • Objetivos similares, mas com arquiteturas

    diferentes: ◦ Isolar uma aplicação e suas dependências dentro de uma unidade isolada que consegue rodar em qualquer lugar. ◦ Eliminar a necessidade de ter hardware específico, melhorando a eficiência do uso dos recursos da máquina.
  2. VM

  3. O que é Docker • Uma plataforma aberta que permite

    empacotar, entregar e rodar sua aplicação por meio de containers. • Baseado nos containers do Kernel do Linux. ◦ Mas roda em qualquer SO. • Essa baleia: <3
  4. Vantagens de usar Docker no desenvolvimento • Facilidade de um

    novo dev iniciar no projeto. • Ambiente homogêneo entre todos os devs do time. • Docker registry (Docker hub).
  5. Docker Image • Imagens são read-only templates construídas a partir

    de uma série de instruções escritas em um arquivo Dockerfile. • Imagens definem o que é empacotado e o que é executado quando um container, a partir dessa imagem, é iniciado.
  6. Docker container • Um processo (serviço) de uma imagem executada

    ou em execução. • O container está em execução se um processo estiver em execução.
  7. Volumes • Permite especificar um diretório no container que existe

    fora do filesystem do Docker. • Usado para compartilhar e persistir dados entre containers. ◦ Continua existindo quando o container é deletado.
  8. Docker Compose • Um “orquestrador” para definir, executar e interligar

    containers. • Precisa ser instalado separadamente. • Definido por um arquivo docker-compose.yml: ◦ Pode e deve ser versionado junto com o projeto.