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

Afinal, o que é Docker? (Meetup Laravel #12)

Afinal, o que é Docker? (Meetup Laravel #12)

Palestra com a intenção de mostrar na essência o que são contêineres (Linux e Windows), da onde vem o Docker com direito a uma demonstração montando contêineres manualmente usando Go Lang. Demo disponível no GitHub: http://github.com/wsilva/container-from-scratch-demo

Wellington F. Silva

November 29, 2016
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. WHO AM I? WELLINGTON F. SILVA ▸ AKA: wsilva |

    boina | tom | fisi ▸ Pai ▸ Técnico Telecom ▸ Programador ▸ Instrutor ▸ DevOps ▸ Escritor
  2. AGENDA ▸ Virtualização ▸ Virtual Machine x Contêineres ▸ Histórico

    ▸ Container from scratch ▸ Evolução ▸ Arquitetura ▸ OSX x Windows x Linux ▸ Imagens ▸ Adoção do Docker
  3. O QUE É O DOCKER? TIPOS DE VIRTUALIZAÇÃO ▸ Full

    Virtualization ▸ Partial Virtualization
  4. O QUE É O DOCKER? TIPOS DE VIRTUALIZAÇÃO ▸ Full

    Virtualization ▸ Partial Virtualization ▸ Paravirtualization
  5. O QUE É O DOCKER? TIPOS DE VIRTUALIZAÇÃO ▸ Full

    Virtualization ▸ Partial Virtualization ▸ Paravirtualization ▸ OS Level Virtualization
  6. O QUE É O DOCKER? TIPOS DE VIRTUALIZAÇÃO ▸ Full

    Virtualization ▸ Partial Virtualization ▸ Paravirtualization ▸ OS Level Virtualization <= DOCKER
  7. SERVIDOR SERVIDOR HOST OS HOST OS CONTAINER ENGINE HYPERVISOR BINS/LIBS

    GUEST OS BINS/LIBS GUEST OS BINS/LIBS BINS/LIBS APP APP APP APP VM VM Container Container VMs x Contêineres
  8. SERVIDOR SERVIDOR DEBIAN LINUX DEBIAN LINUX DOCKER VIRTUALBOX BINS/LIBS CENTOS

    LINUX BINS/LIBS UBUNTU LINUX BINS/LIBS BINS/LIBS NGINX MYSQL NGINX MYSQL VM VM Container Container VMs x Contêineres
  9. HISTÓRICO HISTÓRIA ▸ 21/03/2013 1ª Demo ▸ Opensource(Apache License 2.0)

    ▸ Base para dotCloud ▸ 23/07/2013 - Ben Golub, CEO da Gluster e da Plaxo se une ao time
  10. HISTÓRICO HISTÓRIA ▸ 21/03/2013 1ª Demo ▸ Opensource(Apache License 2.0)

    ▸ Base para dotCloud ▸ 23/07/2013 - Ben Golub, CEO da Gluster e da Plaxo se une ao time ▸ 22/01/2014 2º aporte de US$ 15 mi
  11. HISTÓRICO HISTÓRIA ▸ 23/07/2014 Compra da Orchard (FIG) ▸ 16/09/2014

    3º aporte US$ 40 mi ▸ 15/10/2014 Microsoft anuncia Docker no Windows 2016 sever
  12. HISTÓRICO HISTÓRIA ▸ 23/07/2014 Compra da Orchard (FIG) ▸ 16/09/2014

    3º aporte US$ 40 mi ▸ 15/10/2014 Microsoft anuncia Docker no Windows 2016 sever ▸ 14/04/2015 4º aporte US$ 95 mi
  13. HISTÓRICO HISTÓRIA ▸ 23/07/2014 Compra da Orchard (FIG) ▸ 16/09/2014

    3º aporte US$ 40 mi ▸ 15/10/2014 Microsoft anuncia Docker no Windows 2016 sever ▸ 14/04/2015 4º aporte US$ 95 mi ▸ 22/06/2015 Open Container Initiative
  14. COMO FUNCIONA? KERNEL NAMESPACES ▸ IPC - interprocess communication ▸

    PID - Processos ▸ NET- rede ▸ UTS - Unix timesharing system, recursos do kernel
  15. COMO FUNCIONA? KERNEL NAMESPACES ▸ IPC - interprocess communication ▸

    PID - Processos ▸ NET- rede ▸ UTS - Unix timesharing system, recursos do kernel ▸ USER - usuários
  16. COMO FUNCIONA? KERNEL NAMESPACES ▸ IPC - interprocess communication ▸

    PID - Processos ▸ NET- rede ▸ UTS - Unix timesharing system, recursos do kernel ▸ USER - usuários ▸ MNT - filesystem e pontos de montagem
  17. COMO FUNCIONA? CGROUPS ▸ CPU ▸ Memória ▸ I/O em

    disco ▸ Interface de rede ▸ Hardwares periféricos (pen drive, camera, etc)
  18. DOCKER HOST Imagens DAEMON Volumes Containers KITEMATIC DOCKER CLIENT DOCKER

    PULL DOCKER PUSH DOCKER BUILD DOCKER RUN DOCKER PS DOCKER IMAGES DOCKER REGISTRY (HUB) HTTP CURL WGET
  19. CONTÊINERES LINUX LINUX (DOCKER HOST) WINDOWS OSX VM LINUX (DOCKER

    HOST) DOCKER CLIENT DOCKER CLIENT VM LINUX (DOCKER HOST) DOCKER CLIENT DOCKER DAEMON DOCKER DAEMON DOCKER DAEMON
  20. CONTÊINERES WINDOWS WINDOWS (DOCKER HOST) LINUX OSX VM WINDOWS (DOCKER

    HOST) DOCKER CLIENT DOCKER CLIENT DOCKER CLIENT DOCKER DAEMON DOCKER DAEMON DOCKER DAEMON VM WINDOWS (DOCKER HOST)
  21. CREATE STOPPED RUNNING PAUSED CREATE DESTROY DELETED START docker run

    docker create docker
 start docker rm RESTART docker kill docker
 stop KILL DIE DIE STOP DIE START RESTART PAUSE UNPAUSE DIE OOM docker 
 pause docker
 restart docker unpause exit killed yes no
  22. TO BE CONTINUED… MAIS SOBRE DOCKER ▸ https://docs.docker.com ▸ https://telegram.me/dockerbr

    ▸ http://docker-br.herokuapp.com ▸ https://community.docker.com ▸ http://bit.ly/curso-docker