Aécio Pires
2
Sobre mim...
http://aeciopires.com
● Analista de suporte
● Mestrando em Tecnologia da Informação – IFPB
● Autor nos livros:
Agenda
● O que é Docker?
● História
● Imagem x Conteiner
● Contêineres x VMs
● Contêineres são descartáveis
● Docker Host
● Docker Hub
● Documentação
● Mão na massa
O que é Docker?
O que é Docker?
● “É uma plataforma de contêiner, com o código
fonte aberto, que automatiza a implantação de
aplicativos de software.” Site Oficial [1]
● Não é uma tecnologia de virtualização.
● Não é um gerente de configuração.
● Não é um kernel separado.
● Não é um hypervisor.
A história do
Docker
Fonte:
John Kinsella https://www.slideshare.net/jlkinsel/understanding-container-security
A origem dos conteineres versão longa
Fonte:
Bilgin Ibryam @bibryam https://twitter.com/bibryam/status/885221134408527872
https://opensource.com/article/17/7/how-linux-containers-evolved
https://blog.aquasec.com/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016
A origem dos conteineres versão curta
História do Docker
● Foi publicado em 13 de Março de 2013.
● Está em constante desenvolvimento.
● Desenvolvido inicialmente pela dotCloud,
atual Docker Inc.
● Hoje é mantido pela Docker Inc. +
comunidade.
Características do Docker
● Tem suporte a Linux, Windows, Mac OS, entre
outros.
● Licença Apache 2.0
● Tem as versões Enterprise (EE) e Community (CE)
● No Linux, o diretório de trabalho fica em:
/var/lib/docker/
● Site oficial: www.docker.com
Imagem x Conteiner
Imagem
● Funciona como um template para criação de
novos contêineres.
● A partir de uma imagem, é possível iniciar
novos contêineres e fazer alterações neles.
●São compostas por múltiplas camadas, onde
cada uma é um sistema de arquivos somente
leitura.
Imagem
● São formadas a partir da compilação de uma
imagem base.
● Podem ser customizadas a partir de um conteiner
em execução ou a partir da compilação de um
Dockerfile.
Contêineres
● “São um encapsulamento para um aplicativo com
suas dependências.” Using Docker de Adrian Mouat
(O’Reilly) [2] [3]
● Oferecem métodos simples, rápidos e robustos
para o desenvolvimento, a distribuição e execução
de softwares.
Contêineres
● Vários contêineres podem ser executados no
mesmo host.
● Compartilham o kernel do SO hospedeiro.
● Cada conteiner é executado como um
processo isolado no espaço do usuário.
A estrutura de camadas de uma imagem
A estrutura de camadas de uma imagem
A estrutura de camadas de uma imagem
● Economiza espaço de armazenamento;
● Reduz o tempo e processo de atualização da
imagem.
● Agiliza o compartilhamento de novas versões da
imagem entre vários ambientes.
A estrutura de camadas de uma imagem
● Permite a inspeção de mudanças nas camadas da
imagem.
● Possibilita a verificação da integridade de cada
camadas durante o download da imagem.
● Permite retomar o download de uma imagem a
partir da última camada obtida.
Fonte: https://serversideup.net/wp-content/uploads/2014/10/ContainerVsVM.png
Contêineres x VMs
Contêineres x VMs
● “A finalidade da VM é emular totalmente um
ambiente externo, enquanto a de um conteiner é
tornar os aplicativos portáveis e independentes.”
MOUAT, Adrian
● Como o Docker não executa virtualização, os
contêineres devem ser sempre correspondentes ao
kernel do host.
Contêineres
● Ocupam menos espaço do que as VMs.
● São portáveis.
● São ligados quase instantaneamente.
● São adequados para execução de microsserviços
e pouco recomendados para sistemas monolíticos.
Contêineres
● Os processos executados dentro dos contêineres
são equivalentes a processos nativos do host e não
geram overhead associado a execução do
hipervisor.
● Só são executados durante a execução de seu
processo principal.
Contêineres são Descartáveis
● O ideal é que cada conteiner execute uma
aplicação;
● Característica nativa: contêineres são
descartáveis!
● Dados devem ser persistidos fora do conteiner;
● Podem ser reconstruídos;
● Restart automático reduz indisponibilidade da
aplicação;
Docker Host
Docker Host
● É o host no qual são executados os conteiners e
onde são processados os comandos enviados
pelo docker client.
● O docker host pode conter o docker daemon e o
client ou somente o docker daemon.
Docker Hub
Docker Hub
● É um serviço remoto e proprietário de hospedagem
de imagens Docker.
● É possível criar contas gratuitas para criação de
repositórios de imagens públicas (gratuito) e
privadas (pago US$).
● Possui interface web para gerenciamento de
usuários, repositórios, imagens e builds automáticos.
● Docker Hub: hub.docker.com
Documentação do
Docker
Documentação
• docs.docker.com
• files.zeroturnaround.com/pdf/zt_docker_cheat_sheet.pdf
• Livros na O’really e PacktPub: https://bit.ly/33dhqie
• Primeiros Passos com Docker: http://blog.aeciopires.com/primeiros-passos-
com-docker/
Docker Labs - https://github.com/docker/labs
Docker for Beginners - https://docker-curriculum.com
GOMES, Rafael - Docker para desenvolvedores
https://leanpub.com/dockerparadesenvolvedores
MOUAT, Adrian – Usando Docker
https://www.novatec.com.br/livros/usando-docker
PIRES, Aécio – Primeiros passos com Docker
http://blog.aeciopires.com/primeiros-passos-com-docker
Referências
tinyurl.com/docker-unirede
Mão na Massa

[Unirede] Webinar: Transportando as aplicações entre vários ambientes com Docker

  • 1.
  • 2.
    2 Sobre mim... http://aeciopires.com ● Analistade suporte ● Mestrando em Tecnologia da Informação – IFPB ● Autor nos livros:
  • 3.
    Agenda ● O queé Docker? ● História ● Imagem x Conteiner ● Contêineres x VMs ● Contêineres são descartáveis ● Docker Host ● Docker Hub ● Documentação ● Mão na massa
  • 4.
    O que éDocker?
  • 5.
    O que éDocker? ● “É uma plataforma de contêiner, com o código fonte aberto, que automatiza a implantação de aplicativos de software.” Site Oficial [1] ● Não é uma tecnologia de virtualização. ● Não é um gerente de configuração. ● Não é um kernel separado. ● Não é um hypervisor.
  • 6.
  • 7.
  • 8.
    Fonte: Bilgin Ibryam @bibryamhttps://twitter.com/bibryam/status/885221134408527872 https://opensource.com/article/17/7/how-linux-containers-evolved https://blog.aquasec.com/a-brief-history-of-containers-from-1970s-chroot-to-docker-2016 A origem dos conteineres versão curta
  • 9.
    História do Docker ●Foi publicado em 13 de Março de 2013. ● Está em constante desenvolvimento. ● Desenvolvido inicialmente pela dotCloud, atual Docker Inc. ● Hoje é mantido pela Docker Inc. + comunidade.
  • 10.
    Características do Docker ●Tem suporte a Linux, Windows, Mac OS, entre outros. ● Licença Apache 2.0 ● Tem as versões Enterprise (EE) e Community (CE) ● No Linux, o diretório de trabalho fica em: /var/lib/docker/ ● Site oficial: www.docker.com
  • 11.
  • 12.
    Imagem ● Funciona comoum template para criação de novos contêineres. ● A partir de uma imagem, é possível iniciar novos contêineres e fazer alterações neles. ●São compostas por múltiplas camadas, onde cada uma é um sistema de arquivos somente leitura.
  • 13.
    Imagem ● São formadasa partir da compilação de uma imagem base. ● Podem ser customizadas a partir de um conteiner em execução ou a partir da compilação de um Dockerfile.
  • 14.
    Contêineres ● “São umencapsulamento para um aplicativo com suas dependências.” Using Docker de Adrian Mouat (O’Reilly) [2] [3] ● Oferecem métodos simples, rápidos e robustos para o desenvolvimento, a distribuição e execução de softwares.
  • 15.
    Contêineres ● Vários contêinerespodem ser executados no mesmo host. ● Compartilham o kernel do SO hospedeiro. ● Cada conteiner é executado como um processo isolado no espaço do usuário.
  • 16.
    A estrutura decamadas de uma imagem
  • 17.
    A estrutura decamadas de uma imagem
  • 18.
    A estrutura decamadas de uma imagem ● Economiza espaço de armazenamento; ● Reduz o tempo e processo de atualização da imagem. ● Agiliza o compartilhamento de novas versões da imagem entre vários ambientes.
  • 19.
    A estrutura decamadas de uma imagem ● Permite a inspeção de mudanças nas camadas da imagem. ● Possibilita a verificação da integridade de cada camadas durante o download da imagem. ● Permite retomar o download de uma imagem a partir da última camada obtida.
  • 20.
  • 21.
    Contêineres x VMs ●“A finalidade da VM é emular totalmente um ambiente externo, enquanto a de um conteiner é tornar os aplicativos portáveis e independentes.” MOUAT, Adrian ● Como o Docker não executa virtualização, os contêineres devem ser sempre correspondentes ao kernel do host.
  • 22.
    Contêineres ● Ocupam menosespaço do que as VMs. ● São portáveis. ● São ligados quase instantaneamente. ● São adequados para execução de microsserviços e pouco recomendados para sistemas monolíticos.
  • 23.
    Contêineres ● Os processosexecutados dentro dos contêineres são equivalentes a processos nativos do host e não geram overhead associado a execução do hipervisor. ● Só são executados durante a execução de seu processo principal.
  • 24.
    Contêineres são Descartáveis ●O ideal é que cada conteiner execute uma aplicação; ● Característica nativa: contêineres são descartáveis! ● Dados devem ser persistidos fora do conteiner; ● Podem ser reconstruídos; ● Restart automático reduz indisponibilidade da aplicação;
  • 25.
  • 26.
    Docker Host ● Éo host no qual são executados os conteiners e onde são processados os comandos enviados pelo docker client. ● O docker host pode conter o docker daemon e o client ou somente o docker daemon.
  • 27.
  • 28.
    Docker Hub ● Éum serviço remoto e proprietário de hospedagem de imagens Docker. ● É possível criar contas gratuitas para criação de repositórios de imagens públicas (gratuito) e privadas (pago US$). ● Possui interface web para gerenciamento de usuários, repositórios, imagens e builds automáticos. ● Docker Hub: hub.docker.com
  • 29.
  • 30.
    Documentação • docs.docker.com • files.zeroturnaround.com/pdf/zt_docker_cheat_sheet.pdf •Livros na O’really e PacktPub: https://bit.ly/33dhqie • Primeiros Passos com Docker: http://blog.aeciopires.com/primeiros-passos- com-docker/
  • 31.
    Docker Labs -https://github.com/docker/labs Docker for Beginners - https://docker-curriculum.com GOMES, Rafael - Docker para desenvolvedores https://leanpub.com/dockerparadesenvolvedores MOUAT, Adrian – Usando Docker https://www.novatec.com.br/livros/usando-docker PIRES, Aécio – Primeiros passos com Docker http://blog.aeciopires.com/primeiros-passos-com-docker Referências
  • 32.
  • 34.