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

Docker - Desenvolvimento e Entrega de Aplicações de Forma Automatizada

Docker - Desenvolvimento e Entrega de Aplicações de Forma Automatizada

Baseado no workshop: "Treinamento Docker: do Básico ao Avançado", apresentado na Campus Party Brasil 2017.

Arquivos utilizados durante a parte prática:
► Vagrant - Instalador para Windows 32/64 bits: https://goo.gl/eVDPcJ.
► Vagrantfile - Box com o Ubuntu 14.04 e diretivas para a instalação do Docker: https://goo.gl/Fa07uE.
► putty: https://goo.gl/BSpPKX e puttygen: https://goo.gl/e9aGKR.

Paulo Salgado

March 03, 2017
Tweet

More Decks by Paulo Salgado

Other Decks in Technology

Transcript

  1. #CPBR10 Histórico Recorrente problema na distribuição de aplicações. • Necessidade

    de configurar uma nova VM toda vez que um novo aplicativo é desenvolvido, permitindo dessa forma independência entre as aplicações. ◦ Alto custo para manter diversas VMs. ◦ Mão-de-obra constante. • Seria mais fácil configurar uma única VM e dividi-la em “pedaços”, onde cada uma de suas partes, de forma isolada, poderia ser usada para hospedar uma aplicação diferente.
  2. #CPBR10 O que são containers? Ideia veio de outra área.

    • Até meados de 1960 a maior parte dos produtos eram transportados sem muita organização por navios e trens. ◦ Mercadorias eram quebradas ou deterioradas. ◦ Demora no embarque/desembarque. • Com o passar dos anos o processo foi automatizado com o uso de containers. ◦ Organização e separação das mercadorias. ◦ Agilidade no transporte.
  3. #CPBR10 Exemplificando... • Casas são como VMs: para utilizar uma

    nova e necessário construí-la. ◦ Necessidade de desenhar uma planta baixa para cada uma delas. • Apartamentos como containers: para utilizar um novo basta seguir a estrutura de um que já está construído. ◦ A planta baixa é desenhada uma única vez.
  4. #CPBR10 O que é o Docker? “Docker é uma ferramenta

    que permite empacotar uma aplicação com todas as suas dependências em uma unidade padronizada para desenvolvimento de software.”
  5. #CPBR10 Treinamentos online de Docker • Cursos para Desenvolvedores e

    Operadores (Docker Swarm). • Níveis iniciante e intermediário. • Gratuitos. • Direito a certificado após a conclusão. • Link: http://training.docker.com/category/self-paced-online.
  6. #CPBR10 Conceitos importantes • Base image: Imagem que não possui

    customizações. • Child image: Base image customizada.
  7. #CPBR10 Conceitos importantes • Imagens oficiais: Autenticadas pela Docker Inc.

    • Imagens de usuário: Criadas pelos usuários ou ainda não oficiais.
  8. #CPBR10 Executando um container • Fazendo o download de uma

    imagem do Docker Registry: ◦ docker pull alpine • Executando uma imagem: ◦ docker run alpine • Modo interativo: ◦ docker run -it alpine • Modo detached: ◦ docker run -d alpine
  9. #CPBR10 Obtendo informações • Recuperando as imagens do repositório local:

    ◦ docker images • Informações sobre uma imagem: ◦ docker inspect alpine • Containers em execução: ◦ docker ps • Histórico de execução: ◦ docker ps -a
  10. #CPBR10 Outros comandos • Buscando imagens no Docker Registry: ◦

    docker search ubuntu • Trabalhando com volumes: ◦ docker run -v /var/www:/var/www ubuntu
  11. #CPBR10 Como criar imagens? • Salvando o estado de um

    container: ◦ docker commit container-teste ubuntu/container-teste • Via Dockerfile:
  12. #CPBR10 Arquitetura 1 Cliente 1 Cliente 2 Cliente 3 Cliente

    n Techno Software EC2 EC2 EC2 EC2 Dev Prod Homolog Dev Prod Homolog Dev Prod Homolog Dev Prod Homolog C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C
  13. #CPBR10 Arquitetura 2 Techno Software EC2 - Dev EC2 -

    Homolog EC2 - Prod Cliente 1 Cliente 2 Cliente 3 Cliente n Cliente 1 Cliente 2 Cliente 3 Cliente n Cliente 1 Cliente 2 Cliente 3 Cliente n C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C C
  14. #CPBR10 Conheça mais sobre o Docker • Site oficial: https://www.docker.com/.

    ◦ Docker Hub: https://hub.docker.com/. ◦ Docker Store: https://store.docker.com/. • Repositórios do Docker no GitHub: https://github.com/docker.
  15. #CPBR10 Referências • “Treinamento Docker: do Básico ao Avançado”, workshop

    apresentado pela comunidade Docker BR na Campus Party 2017. • Docker. Disponível em: https://www.docker.com/. • RancherOS. Disponível em: http://rancher.com/rancher-os/.