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

TDC 2015 Porto Alegre - O Fantástico Mundo de Docker

TDC 2015 Porto Alegre - O Fantástico Mundo de Docker

Palestra apresentada na trilha de Testes do TDC 2015 Porto Alegre, no dia 24/09.

Stefan Teixeira

September 24, 2015
Tweet

More Decks by Stefan Teixeira

Other Decks in Programming

Transcript

  1. About me Stefan Teixeira • QA Engineer @ M4U •

    Entusiasta de Automação de Testes, Agile Testing e DevOps • Blogs técnicos: stefanteixeira.com.br (pt-br) / stefanteixeira.com (en) Contatos: • E-mail: [email protected] • Twitter: twitter.com/stefan_teixeira • Facebook: facebook.com/stefan.teixeira • LinkedIn: linkedin.com/in/stefanteixeira • GitHub: github.com/stefanteixeira • SlideShare: slideshare.net/stefanteixeira
  2. • Oracle Solaris Zones - 2004 • LinuX Containers (LXC)

    - 2008 • Google’s lmctfy (Let Me Contain That For You) - 2013 História dos Containers
  3. • Oracle Solaris Zones - 2004 • LinuX Containers (LXC)

    - 2008 • Google’s lmctfy (Let Me Contain That For You) - 2013 • Docker - 2013 História dos Containers
  4. • FROM • RUN • ADD / COPY • EXPOSE

    Dockerfiles: Instruções
  5. • FROM • RUN • ADD / COPY • EXPOSE

    • ENV Dockerfiles: Instruções
  6. • FROM • RUN • ADD / COPY • EXPOSE

    • ENV • VOLUME Dockerfiles: Instruções
  7. • FROM • RUN • ADD / COPY • EXPOSE

    • ENV • VOLUME • CMD / ENTRYPOINT Dockerfiles: Instruções
  8. Dockerfiles: Boas Práticas • 1 processo por container • Minimize

    o número de camadas • Evite instalar pacotes desnecessários
  9. Dockerfiles: Boas Práticas • 1 processo por container • Minimize

    o número de camadas • Evite instalar pacotes desnecessários • Entenda como o cache do Docker funciona (veja http:/ /thenewstack.io/understanding-the-docker-cache-for-faster-builds/ e https:/ / docs.docker.com/articles/dockerfile_best-practices/)
  10. Comandos essenciais (CLI) • Buildar uma imagem docker build -t

    <nome_imagem> <path_dockerfile> Outros parâmetros úteis: • --nocache
  11. Comandos essenciais (CLI) • Rodar um container docker run -d

    -p <porta_host>:<porta_container> --name <nome_container> <nome_imagem> Outros parâmetros úteis: • --link <nome_container>:<alias> • --add-host <nome_host>:<IP>
  12. Comandos essenciais (CLI) • Consultar logs de um container docker

    logs <nome_container> PS: para acompanhar os logs em tempo real, use o parâmetro -f
  13. Comandos essenciais (CLI) • Iniciar sessão bash em um container

    docker exec -it <nome_container> bash PS: o container deve estar rodando!
  14. Comandos essenciais (CLI) • Ver todas as imagens do host

    docker images • Ver todos os containers docker ps -a
  15. Comandos essenciais (CLI) • Remover um container docker rm -f

    <nome_container> • Remover uma imagem docker rmi -f <nome_imagem> PS: antes de remover uma imagem, remova todos os containers associados a ela!