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

Docker do básico a orquestração (PHPeste2016)

Docker do básico a orquestração (PHPeste2016)

Palestra ministrada no PHPeste em Salvador-BA em 09/10/2016. Abordamos o que são linux containers, o que é Docker, comparações com máquinas virtuais, principais comandos, GUI, Compose e Swarm

280fecb4f048de5ecf36bec281609ea4?s=128

Wellington F. Silva

October 09, 2016
Tweet

More Decks by Wellington F. Silva

Other Decks in Technology

Transcript

  1. DO BÁSICO A ORQUESTRAÇÃO DOCKER

  2. None
  3. TEXT WELLINGTON F. SILVA ▸ Técnico Telecom, ▸ Programador, ▸

    Devops ▸ Instrutor ▸ Escritor ▸ Pai…
  4. TEXT AGENDA ▸ O que é Docker ▸ Breve história

    ▸ Como funciona ▸ Principais comandos ▸ Exemplos ▸ Estudo sobre Docker em Produção
  5. O QUE É DOCKER?

  6. None
  7. None
  8. FERRAMENTA PARA VIRTUALIZAÇÃO NO NÍVEL DO SISTEMAS OPERACIONAL

  9. None
  10. O QUE É DOCKER? ▸ Sistemas de Containers Linux

  11. O QUE É DOCKER? ▸ Sistemas de Containers Linux ▸

    Leve e rápido
  12. O QUE É DOCKER? ▸ Sistemas de Containers Linux ▸

    Leve e rápido ▸ Open Source
  13. O QUE É DOCKER? ▸ Sistemas de Containers Linux ▸

    Leve e rápido ▸ Open Source ▸ Diversas ferramentas de cluster e orquestração
  14. O QUE É DOCKER? ▸ Sistemas de Containers Linux ▸

    Leve e rápido ▸ Open Source ▸ Diversas ferramentas de cluster e orquestração ▸ Facilita micro serviços
  15. O QUE É DOCKER? ▸ Sistemas de Containers Linux ▸

    Leve e rápido ▸ Open Source ▸ Diversas ferramentas de cluster e orquestração ▸ Facilita micro serviços ▸ Facilita emprego do 12 factor
  16. O QUE É DOCKER? ▸ Sistemas de Containers Linux ▸

    Leve e rápido ▸ Open Source ▸ Diversas ferramentas de cluster e orquestração ▸ Facilita micro serviços ▸ Facilita emprego do 12 factor ▸ Melhora a distribuição de recursos
  17. HISTÓRIA

  18. TEXT HISTÓRIA ▸ 21/03/2013 1ª Demo

  19. TEXT HISTÓRIA ▸ 21/03/2013 1ª Demo ▸ Opensource(Apache License 2.0)

  20. TEXT HISTÓRIA ▸ 21/03/2013 1ª Demo ▸ Opensource(Apache License 2.0)

    ▸ Base para dotCloud
  21. TEXT 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. TEXT 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
  23. TEXT HISTÓRIA ▸ 23/07/2014 Compra da Orchard (FIG)

  24. TEXT HISTÓRIA ▸ 23/07/2014 Compra da Orchard (FIG) ▸ 16/09/2014

    3º aporte US$ 40 mi
  25. TEXT 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
  26. TEXT 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
  27. TEXT 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
  28. COMO FUNCIONA?

  29. PROCESSOS + KERNEL NAMESPACES + CGROUPS

  30. PROCESSOS PID=1

  31. KERNEL NAMESPACES (O QUE O PROCESSO PODE VER)

  32. CGROUPS (O QUE O PROCESSO PODE USAR)

  33. VM X CONTAINERS

  34. None
  35. ARQUITETURA

  36. None
  37. WINDOWS VS OSX VS LINUX

  38. None
  39. Windows 2016

  40. IMAGENS

  41. None
  42. None
  43. None
  44. None
  45. PRINCIPAIS COMANDOS

  46. PRINCIPAIS COMANDOS CRIAR CONTAINERS docker run [opções] imagem [comando|parâmetro]

  47. PRINCIPAIS COMANDOS LISTAR CONTAINERS docker ps [opções]

  48. PRINCIPAIS COMANDOS LISTAR IMAGENS docker images [opções]

  49. PRINCIPAIS COMANDOS REMOVER CONTAINERS docker rm [opções] id|nome

  50. PRINCIPAIS COMANDOS REMOVER IMAGENS docker rmi [opções] id|tag

  51. PRINCIPAIS COMANDOS ADICIONAR UM PROCESSO docker exec [opções] id|nome processo

  52. PRINCIPAIS COMANDOS USANDO VOLUMES docker volume create [opções] [nome] docker

    run --volume nome:/path … docker run --volume "/host:/container" …
  53. PRINCIPAIS COMANDOS USANDO PORTAS docker run --publish interface:porta-host:porta- container …

    docker run --publish-all …
  54. PRINCIPAIS COMANDOS TRABALHANDO COM IMAGENS docker commit [opções] id|container docker

    pull imagem docker push imagem docker tag [img-original|id] nova-imagem
  55. EXEMPLOS HORA DA TELA AZUL

  56. MANEIRAS DE RODAR DETACHED docker run --detach debian sleep infinity

    docker run -d debian sleep infinity
  57. MANEIRAS DE RODAR INTERATIVA COM TERMINAL docker run --interactive --tty

    debian /bin/bash docker run -i -t debian /bin/bash
  58. MANEIRAS DE RODAR INTERATIVA (UNIX PIPELINE) echo "PHPeste" | docker

    run -i debian cat
  59. EXEMPLOS PHP BUILT IN WEB SERVER docker run -d \

    --publish 80:80 \ --volume "$(pwd):/app" \ --workdir /app \ php:7-cli \ php -S 0.0.0.0:80
  60. EXEMPLOS NGINX SERVER docker run -d \ -p 80:80 \

    --volume "$(pwd):/usr/share/nginx/ html" \ nginx
  61. EXEMPLOS COMANDOS "DOCKERIZADOS" docker run -it \ --volume "$(pwd):/app" \

    --volume "$HOME/.ssh:/root/.ssh" \ composer/composer \ install
  62. EXEMPLOS DOCKER COMPOSE Demo baseada no repo: https://github.com/wsilva/demo- phpsp-ima

  63. EXEMPLOS APLICAÇÕES GUI ▸ Navegador Tor ▸ Eyes ▸ Spotify

    ▸ Sugestão: https://hub.docker.com/u/jess/
  64. EXEMPLOS DOCKER CRAFT docker run -d \ -p 25565:25565 \

    -v /var/run/docker.sock:/var/run/ docker.sock \ wfsilva/dockercraft
  65. EXEMPLOS DOCKER SWARM docker swarm init docker swarm join --token

  66. ESTUDO DATADOG HTTPS://WWW.DATADOGHQ.COM/ DOCKER-ADOPTION/

  67. AUMENTO DE 30% NO USO ENTRE MAIO DE 2015 E

    MAIO DE 2016 ESTUDO DATADOG
  68. EM MAIORES EMPRESAS (+500 HOSTS) A ADOÇÃO É MAIOR ESTUDO

    DATADOG
  69. 2/3 DOS CLIENTES QUE TESTARAM ADOTARAM ESTUDO DATADOG

  70. DOS CLIENTES QUE ADOTARAM A QUANTIDADE DE CONTAINERS QUINTUPLICOU ESTUDO

    DATADOG
  71. EM MÉDIA 5 CONTAINER POR HOST ESTUDO DATADOG

  72. VMS SÃO 6 X MAIS LONGEVAS QUE OS CONTAINERS ESTUDO

    DATADOG
  73. IMGS MAIS USADAS: REGISTRY, NGINX, REDIS, ELASTICSEARCH, MYSQL, … ESTUDO

    DATADOG