$30 off During Our Annual Pro Sale. View Details »

O Poder do Docker (meetup #2 PagSeguro)

O Poder do Docker (meetup #2 PagSeguro)

Palestra apresentada dia 13 de fevereiro de 2016 no 2º meetup da PagSeguro ministrado na sala de eventos da iMasters em São Paulo. Palestra trouxe o que é o Docker, como funciona, comparação com os paradigmas atuais além de uma série de demonstrações de como o Docker pode ser utilizado mesmo de maneiras não tão convencionais.

Wellington F. Silva

February 14, 2017
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. O Poder do
    DOCKER

    View Slide

  2. Wellington F. Silva
    contato:
    @_wsilva
    nicks:
    wsilva, boina, tom, fisi
    funções:
    pai, tec. telecom,
    programador, instrutor,
    escritor

    View Slide

  3. Agenda
    • Tipos de Virtualização
    • O que é Docker
    • Como funciona
    • O que dá para fazer

    View Slide

  4. O que é o DOCKER?

    View Slide

  5. View Slide

  6. View Slide

  7. –Wellington F. Silva
    “Ferramenta para
    virtualização no nível do
    Sistema Operacional.”

    View Slide

  8. Tipos de
    Virtualização

    View Slide

  9. Tipos de Virtualização
    • Full Virtualization

    View Slide

  10. Tipos de Virtualização
    • Full Virtualization
    • Partial Virtualization

    View Slide

  11. Tipos de Virtualização
    • Full Virtualization
    • Partial Virtualization
    • Paravirtualization

    View Slide

  12. Tipos de Virtualização
    • Full Virtualization
    • Partial Virtualization
    • Paravirtualization
    • OS Level Virtualization

    View Slide

  13. Tipos de Virtualização
    • Full Virtualization
    • Partial Virtualization
    • Paravirtualization
    • OS Level Virtualization
    <<< Docker

    View Slide

  14. Contêiner NÃO é VM

    View Slide

  15. 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

    View Slide

  16. Diferentes, não excludentes
    SERVIDOR
    XEN
    UBUNTU LINUX
    DOCKER
    ENGINE
    BINS/LIBS MYSQL
    DEBIAN
    LINUX
    BINS/LIBS
    NGINX
    BINS/LIBS
    PHP-FPM
    DOCKER
    ENGINE
    WINDOWS
    2016 SERVER
    BINS/LIBS
    SQL SERVER

    View Slide

  17. Como Funciona?

    View Slide

  18. PROCESSOS
    +
    KERNEL NAMESPACES
    +
    CGROUPS

    View Slide

  19. PROCESSOS
    Aqueles que listamos com ps aux e matamos com
    kill -9

    View Slide

  20. Processos
    • Processo Linux com ID atribuído (PID)

    View Slide

  21. Processos
    • Processo Linux com ID atribuído (PID)
    • Pode ser listados (com ps) dentro do contêiner
    ou fora, no host

    View Slide

  22. Processos
    • Processo Linux com ID atribuído (PID)
    • Pode ser listados (com ps) dentro do contêiner
    ou fora, no host
    • Dentro do contêiner o PID=1, fora (no host) vai
    ter valor alto

    View Slide

  23. KERNEL
    NAMESPACES
    Tudo aquilo que o processo pode "ver"

    View Slide

  24. Kernel Namespaces
    • IPC - interprocess communication

    View Slide

  25. Kernel Namespaces
    • IPC - interprocess communication
    • PID - Processos

    View Slide

  26. Kernel Namespaces
    • IPC - interprocess communication
    • PID - Processos
    • NET- rede

    View Slide

  27. Kernel Namespaces
    • IPC - interprocess communication
    • PID - Processos
    • NET- rede
    • UTS - Unix timesharing system, recursos do
    kernel

    View Slide

  28. Kernel Namespaces
    • IPC - interprocess communication
    • PID - Processos
    • NET- rede
    • UTS - Unix timesharing system, recursos do
    kernel
    • USER - usuários

    View Slide

  29. 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

    View Slide

  30. CGROUPS
    Tudo aquilo que o processo pode "usar"

    View Slide

  31. CGroups
    • CPU

    View Slide

  32. CGroups
    • CPU
    • Memória

    View Slide

  33. CGroups
    • CPU
    • Memória
    • I/O em disco

    View Slide

  34. CGroups
    • CPU
    • Memória
    • I/O em disco
    • Interface de rede

    View Slide

  35. CGroups
    • CPU
    • Memória
    • I/O em disco
    • Interface de rede
    • Hardwares periféricos 

    (pen drives, cameras, etc)

    View Slide

  36. –Linus Torvalds
    “Talk is cheap. Show me
    the code.”

    View Slide

  37. Docker

    View Slide

  38. Docker Compose

    View Slide

  39. GUI Apps

    View Slide

  40. DIND

    View Slide

  41. Docker craft

    View Slide

  42. Docker Swarm

    View Slide

  43. 17-20 Abril | Austin
    www.dockercon.com

    View Slide

  44. Grato

    Próximos Passos:
    • Curso: 

    http://bit.ly/curso-docker
    • Telegram: 

    http://t.me/dockerbr
    • Slack:

    http://docker-
    br.herokuapp.com
    • Meetup:

    http://meetup.com/docker-
    sao-paulo

    View Slide