SlideShare uma empresa Scribd logo
Docker do básico à
orquestração de containers
Meetup de Laravel em São Paulo #3
Sobre
• $nome = 'Wellington F. Silva';
• $nick = ['_wsilva, 'tom', 'boina',
'fisi', 'iéié'];
• $work = 'developer';
• $background = '~2000';
• $titles = ['ZCE PHP 5.3', 'Técnico
Telecom', 'Quase Bacharel SI -
USP'];
• $contact = ['twitter' => '_wsilva'];
Quick Research
Já ouviu falar sobre:
• Virtualização (Vagrant, Virtual Box, VMWare, Xen,...)
!
!
Quick Research
Já ouviu falar sobre:
• Virtualização (Vagrant, Virtual Box, VMWare, Xen,...)
• LXC
!
Quick Research
Já ouviu falar sobre:
• Virtualização (Vagrant, Virtual Box, VMWare, Xen,...)
• LXC
• Docker
Quick Research
Já ouviu falar sobre:
• Virtualização (Vagrant, Virtual Box, VMWare, Xen,...)
• LXC
• Docker
• Orquestração de containers
Overview
Overview
• Virtualization, LXC, VMs vs Containers
!
!
Overview
• Virtualization, LXC, VMs vs Containers
• O que é Docker
!
Overview
• Virtualization, LXC, VMs vs Containers
• O que é Docker
• Uso Básico
Overview
• Virtualization, LXC, VMs vs Containers
• O que é Docker
• Uso Básico
• Orquestração de Containers
Virtualização
Um sistema operacional
completo (Guest)
rodando sobre o sistema
operacional que está
rodando na máquina
física (Host)
Opinião pessoal 

(mais defin. ver no google)
LXC - Linux Containers
• Isolamento de processo
(chroot)
!
!
!




LXC - Linux Containers
• Isolamento de processo
(chroot)
• Isolamento de rede
!
!




LXC - Linux Containers
• Isolamento de processo
(chroot)
• Isolamento de rede
• Limitação de memória
!




LXC - Linux Containers
• Isolamento de processo
(chroot)
• Isolamento de rede
• Limitação de memória
• Isolamento de File System




LXC - Linux Containers
• Isolamento de processo
(chroot)
• Isolamento de rede
• Limitação de memória
• Isolamento de File System
• Dificuldade de
compartilhamento de
volumes
LXC - Linux Containers
• Instalando LXC: 

sudo apt-get install lxc






LXC - Linux Containers
• Instalando LXC: 

sudo apt-get install lxc
• Criando um container busybox (minimalista): 

sudo lxc-create --template busybox --name testando

setting root password to "root"

Password for 'root' changed
LXC - Linux Containers
• Rodando:

sudo lxc-start --name testando

udhcpc: SIOCGIFINDEX: No such device

Please press Enter to activate this console.

/


LXC - Linux Containers
• Rodando:

sudo lxc-start --name testando

udhcpc: SIOCGIFINDEX: No such device

Please press Enter to activate this console.

/
• Parando (tem que usar um outro terminal no host):

sudo lxc-stop --name testando
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
Docker
• Copy-on-write (AUFS)
!
!
!
!
Docker
• Copy-on-write (AUFS)
• Logging (stdout/stderr/stdin)
!
!
!
Docker
• Copy-on-write (AUFS)
• Logging (stdout/stderr/stdin)
• Change management (imagens)
!
!
Docker
• Copy-on-write (AUFS)
• Logging (stdout/stderr/stdin)
• Change management (imagens)
• Automatic build (Dockerfile)
!
Docker
• Copy-on-write (AUFS)
• Logging (stdout/stderr/stdin)
• Change management (imagens)
• Automatic build (Dockerfile)
• Component re-use (FROM: image)
Docker
• Copy-on-write (AUFS)
• Logging (stdout/stderr/stdin)
• Change management (imagens)
• Automatic build (Dockerfile)
• Component re-use (FROM: image)
• Sharing (dockerhub/registry)
VMs vs Docker
VMs vs Docker
• Sobe rápido
!
!


VMs vs Docker
• Sobe rápido
• Padronização
!


VMs vs Docker
• Sobe rápido
• Padronização
• Fácil replicação


VMs vs Docker
• Sobe rápido
• Padronização
• Fácil replicação
• Melhor utilização de
recursos
VMs vs Docker
• Sobe rápido
• Padronização
• Fácil replicação
• Melhor utilização de
recursos
• Overhead de IO
!
VMs vs Docker
• Sobe rápido
• Padronização
• Fácil replicação
• Melhor utilização de
recursos
• Overhead de IO
• Não tão isolado
VMs vs Docker
• Sobe rápido
• Padronização
• Fácil replicação
• Melhor utilização de
recursos
• Overhead de IO
• Não tão isolado
• Só Linux
Tips
• Não é VM, é CONTAINER
!
!


Tips
• Não é VM, é CONTAINER
• Porque container (padrão de transporte)
!


Tips
• Não é VM, é CONTAINER
• Porque container (padrão de transporte)
• Conceito de Guest e Host, também vale.


Tips
• Não é VM, é CONTAINER
• Porque container (padrão de transporte)
• Conceito de Guest e Host, também vale.
• Imagem vs Container (imagem é estática, container é
o que roda). Similar a VM e imagem da VM (AMI)
Basics
• docker pull
!
!
!
!
!
!
Tutorial de introdução (10min): https://www.docker.com/tryit/
Basics
• docker pull
• docker ps
!
!
!
!
!
Tutorial de introdução (10min): https://www.docker.com/tryit/
Basics
• docker pull
• docker ps
• docker images
!
!
!
!
Tutorial de introdução (10min): https://www.docker.com/tryit/
Basics
• docker pull
• docker ps
• docker images
• docker run
!
!
!
Tutorial de introdução (10min): https://www.docker.com/tryit/
Basics
• docker pull
• docker ps
• docker images
• docker run
• docker exec
!
!
Tutorial de introdução (10min): https://www.docker.com/tryit/
Basics
• docker pull
• docker ps
• docker images
• docker run
• docker exec
• docker commit
!
Tutorial de introdução (10min): https://www.docker.com/tryit/
Basics
• docker pull
• docker ps
• docker images
• docker run
• docker exec
• docker commit
• docker inspect
Tutorial de introdução (10min): https://www.docker.com/tryit/
Basics
• docker pull
• docker ps
• docker images
• docker run
• docker exec
• docker commit
• docker inspect
• docker push
Tutorial de introdução (10min): https://www.docker.com/tryit/
Instalation
• Debian, Arch, Fedora,
CentOS, AWS EC2, Mac OS
X, Suse, Microsoft Ubuntu,
Microsoft Windows, etc...


https://docs.docker.com/installation/#installation
Instalation
• Debian, Arch, Fedora,
CentOS, AWS EC2, Mac OS
X, Suse, Microsoft Ubuntu,
Microsoft Windows, etc...
• Mac OS X e Microsoft
Windows (boot2docker-vm)
https://docs.docker.com/installation/#installation
Docker Machine
• Cria uma VM com
boot2docker onde você
quiser










https://docs.docker.com/machine/
Docker Machine
• Cria uma VM com
boot2docker onde você
quiser
• Amazon Web Services, Digital
Ocean, Google Compute
Engine, IBM Softlayer,
Microsoft Azure, Openstack,
etc...


https://docs.docker.com/machine/
Docker Machine
• Cria uma VM com
boot2docker onde você
quiser
• Amazon Web Services, Digital
Ocean, Google Compute
Engine, IBM Softlayer,
Microsoft Azure, Openstack,
etc...
• Preparado para criação de
clusters (Swarms)
https://docs.docker.com/machine/
Docker Compose
DOCKER COMPOSE
e não composeeerrr...
Docker Compose
• Antigo fig.sh






https://docs.docker.com/compose/
Docker Compose
• Antigo fig.sh
• Arquivo yml que descreve os
microsistemas




https://docs.docker.com/compose/
Docker Compose
• Antigo fig.sh
• Arquivo yml que descreve os
microsistemas
• Comandos: build, help, kill,
logs, port, ps, pull, rm, run,
scale, start, stop, up
https://docs.docker.com/compose/
Why Compose?
• Imagine que você entrou no E-Bahya






Why Compose?
• Imagine que você entrou no E-Bahya
• Maior e-commerce da África Latina com trocentos acessos por
minutos




Why Compose?
• Imagine que você entrou no E-Bahya
• Maior e-commerce da África Latina com trocentos acessos por
minutos
• Cada serviço do E-Bahya roda em um servidor na nuvem Alazão
Jeg Servers (escalável de acordo com a qtde de acessos - sempre
entre 5 e 10 instâncias rodando)
Why Compose?
• Imagine que você entrou no E-Bahya
• Maior e-commerce da África Latina com trocentos acessos por
minutos
• Cada serviço do E-Bahya roda em um servidor na nuvem Alazão
Jeg Servers (escalável de acordo com a qtde de acessos - sempre
entre 5 e 10 instâncias rodando)
• Serviços se comunicam entre si via rede privada
Talk no Meetup LaravelSP #3
Why Compose?
Como você monta o ambiente na sua máquina?














Talk no Meetup LaravelSP #3
Why Compose?
Como você monta o ambiente na sua máquina?
a) vou instalando os pacotes: do banco, nginx / apache, etc













Why Compose?
Como você monta o ambiente na sua máquina?
a) vou instalando os pacotes: do banco, nginx / apache, etc

b) vou instalando mas na versão do site: nginx 1.2.1, php 5.6.1











Why Compose?
Como você monta o ambiente na sua máquina?
a) vou instalando os pacotes: do banco, nginx / apache, etc

b) vou instalando mas na versão do site: nginx 1.2.1, php 5.6.1

c) vou levantar um virtualbox com todos os serviços instalados









Why Compose?
Como você monta o ambiente na sua máquina?
a) vou instalando os pacotes: do banco, nginx / apache, etc

b) vou instalando mas na versão do site: nginx 1.2.1, php 5.6.1

c) vou levantar um virtualbox com todos os serviços instalados

d) manjo tudo de docker vou montar um container com a distro linux
que está nos servidores e os pacotes nas versões certas.





Why Compose?
Como você monta o ambiente na sua máquina?
a) vou instalando os pacotes: do banco, nginx / apache, etc

b) vou instalando mas na versão do site: nginx 1.2.1, php 5.6.1

c) vou levantar um virtualbox com todos os serviços instalados

d) manjo tudo de docker vou montar um container com a distro linux
que está nos servidores e os pacotes nas versões certas.

e) um container para cada serviço: um pro banco, um para a sessão,
um pro servidor web, um para o elastic search, um para o frontend e
um para o backend e assim por diante
Live Demo
anything can go wrong now
Fontes
https://github.com/wsilva/meetup-laravel
Q&A
Slides

Mais conteúdo relacionado

PDF
Desenvolvendo e implantando aplicações PHP utilizando Docker
PDF
5. rodando containers docker na aws
PDF
Docker na vida real
PDF
Vagrant & Docker: carregue seus ambientes no bolso
PDF
TDC 2015 POA - O Fantástico Mundo de Docker
PDF
Docker, facilitando a vida do desenvolvimento
PDF
Primeiros passos com o Docker
PDF
Vagrant vs docker? Melhor vagrant + docker
Desenvolvendo e implantando aplicações PHP utilizando Docker
5. rodando containers docker na aws
Docker na vida real
Vagrant & Docker: carregue seus ambientes no bolso
TDC 2015 POA - O Fantástico Mundo de Docker
Docker, facilitando a vida do desenvolvimento
Primeiros passos com o Docker
Vagrant vs docker? Melhor vagrant + docker

Mais procurados (20)

PDF
Docker volumes
PDF
Orquestrando Docker Containers: Machine, Swarm e Compose
PDF
Verdades que não querem te contar sobre Docker
PDF
Apresentação docker
PDF
Deploying Docker Containers
PDF
Introdução à plataforma Docker
PDF
Iniciando com docker
PDF
Container revolucao
PDF
Docker: uma visão geral
PPTX
Introdução ao docker
PDF
O poder do Docker (7 Masters)
PPTX
Introdução a Containers Docker
PDF
Testadores 2015 - O Fantástico Mundo de Docker
PDF
Bem vindo ao Docker
ODP
O que é Docker?
PDF
Apresentacao docker
PDF
Um milhao de usuários simultâneos
ODP
Docker: uma visão geral e exemplos de uso
PDF
O que é docker?
PDF
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
Docker volumes
Orquestrando Docker Containers: Machine, Swarm e Compose
Verdades que não querem te contar sobre Docker
Apresentação docker
Deploying Docker Containers
Introdução à plataforma Docker
Iniciando com docker
Container revolucao
Docker: uma visão geral
Introdução ao docker
O poder do Docker (7 Masters)
Introdução a Containers Docker
Testadores 2015 - O Fantástico Mundo de Docker
Bem vindo ao Docker
O que é Docker?
Apresentacao docker
Um milhao de usuários simultâneos
Docker: uma visão geral e exemplos de uso
O que é docker?
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
Anúncio

Destaque (9)

PDF
Alagoas Dev Day
PDF
Docker para deploy de aplicação
PDF
Blue Green Deployment com Docker
PDF
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
PDF
Into the ZF2 Service Manager
PDF
Oito dicas sobre Docker
PDF
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
PPTX
DevOps utilizando Docker
PDF
Automatizando a implantação e operação de aplicações conteinerizadas no...
Alagoas Dev Day
Docker para deploy de aplicação
Blue Green Deployment com Docker
Da Integração Contínua à Entrega Contínua apenas com ferramentas open-source
Into the ZF2 Service Manager
Oito dicas sobre Docker
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps utilizando Docker
Automatizando a implantação e operação de aplicações conteinerizadas no...
Anúncio

Semelhante a Talk no Meetup LaravelSP #3 (20)

PDF
Docker 101 e Ambientes Imutáveis
PDF
Docker - Tutorial for beginners
PPTX
Ambiente de desenvolvimento com docker e ruby on rails
PDF
Introdução-a-Docker-compactado.pdf
PPTX
Containers com docker #CPRecife4
PPTX
Conheça o Docker
PDF
Vagrant sti
PDF
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
PDF
Docker Swarm - Sua aplicação pronta para escalar
PDF
Docker.io:
PPTX
Docker Para Maiores - GDG Cabreúva
PDF
O docker vai mudar tudo na sua infra estrutura-ti
PDF
TDC 2016 Floripa - Workshop docker
PDF
Freedomday2016 - Fique na caixinha, docker
PPTX
Docker para maiores
PDF
Source-to-container no mundo real
PDF
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
PDF
O que é o Docker afinal? (Workshop Novatec)
PDF
Datacenter na nuvem
PDF
O poder do Docker (7º meetup de Docker SP)
Docker 101 e Ambientes Imutáveis
Docker - Tutorial for beginners
Ambiente de desenvolvimento com docker e ruby on rails
Introdução-a-Docker-compactado.pdf
Containers com docker #CPRecife4
Conheça o Docker
Vagrant sti
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Docker Swarm - Sua aplicação pronta para escalar
Docker.io:
Docker Para Maiores - GDG Cabreúva
O docker vai mudar tudo na sua infra estrutura-ti
TDC 2016 Floripa - Workshop docker
Freedomday2016 - Fique na caixinha, docker
Docker para maiores
Source-to-container no mundo real
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
O que é o Docker afinal? (Workshop Novatec)
Datacenter na nuvem
O poder do Docker (7º meetup de Docker SP)

Mais de Wellington Silva (13)

PDF
Docker do básico a orquestração (PHPeste2016)
PDF
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
PDF
Afinal, o que é Docker? (Meetup Laravel #12)
PDF
Afinal, o que é Docker? (Webinar Umbler)
PDF
Começando com o Docker (HackerHouseBR)
PDF
Do monolito aos microserviços com Docker (PHPSP+IMA)
PDF
Aplicações 12 fatores, melhor com Docker
PDF
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
PDF
12 factor app. Melhor com Docker
PDF
Docker from basics to orchestration (PHPConfBr2015)
PDF
Talk on PHP Day Uruguay about Docker
PDF
Gnu/Linux - Workshop EACH-USP
PDF
Light Talk Docker Compose
Docker do básico a orquestração (PHPeste2016)
Aplicação Distribuída com Docker Swarm (Meetup GruPy-SP)
Afinal, o que é Docker? (Meetup Laravel #12)
Afinal, o que é Docker? (Webinar Umbler)
Começando com o Docker (HackerHouseBR)
Do monolito aos microserviços com Docker (PHPSP+IMA)
Aplicações 12 fatores, melhor com Docker
Contêineres e VMs no mundo dos E-commerces (Devcommerce2016)
12 factor app. Melhor com Docker
Docker from basics to orchestration (PHPConfBr2015)
Talk on PHP Day Uruguay about Docker
Gnu/Linux - Workshop EACH-USP
Light Talk Docker Compose

Último (19)

PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Processos na gestão de transportes, TM100 Col18
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Apple Pippin Uma breve introdução. - David Glotz
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Aula04-Academia Heri- Tecnologia Geral 2025
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Aula 18 - Manipulacao De Arquivos python
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20

Talk no Meetup LaravelSP #3

  • 1. Docker do básico à orquestração de containers Meetup de Laravel em São Paulo #3
  • 2. Sobre • $nome = 'Wellington F. Silva'; • $nick = ['_wsilva, 'tom', 'boina', 'fisi', 'iéié']; • $work = 'developer'; • $background = '~2000'; • $titles = ['ZCE PHP 5.3', 'Técnico Telecom', 'Quase Bacharel SI - USP']; • $contact = ['twitter' => '_wsilva'];
  • 3. Quick Research Já ouviu falar sobre: • Virtualização (Vagrant, Virtual Box, VMWare, Xen,...) ! !
  • 4. Quick Research Já ouviu falar sobre: • Virtualização (Vagrant, Virtual Box, VMWare, Xen,...) • LXC !
  • 5. Quick Research Já ouviu falar sobre: • Virtualização (Vagrant, Virtual Box, VMWare, Xen,...) • LXC • Docker
  • 6. Quick Research Já ouviu falar sobre: • Virtualização (Vagrant, Virtual Box, VMWare, Xen,...) • LXC • Docker • Orquestração de containers
  • 8. Overview • Virtualization, LXC, VMs vs Containers ! !
  • 9. Overview • Virtualization, LXC, VMs vs Containers • O que é Docker !
  • 10. Overview • Virtualization, LXC, VMs vs Containers • O que é Docker • Uso Básico
  • 11. Overview • Virtualization, LXC, VMs vs Containers • O que é Docker • Uso Básico • Orquestração de Containers
  • 12. Virtualização Um sistema operacional completo (Guest) rodando sobre o sistema operacional que está rodando na máquina física (Host) Opinião pessoal 
 (mais defin. ver no google)
  • 13. LXC - Linux Containers • Isolamento de processo (chroot) ! ! ! 
 

  • 14. LXC - Linux Containers • Isolamento de processo (chroot) • Isolamento de rede ! ! 
 

  • 15. LXC - Linux Containers • Isolamento de processo (chroot) • Isolamento de rede • Limitação de memória ! 
 

  • 16. LXC - Linux Containers • Isolamento de processo (chroot) • Isolamento de rede • Limitação de memória • Isolamento de File System 
 

  • 17. LXC - Linux Containers • Isolamento de processo (chroot) • Isolamento de rede • Limitação de memória • Isolamento de File System • Dificuldade de compartilhamento de volumes
  • 18. LXC - Linux Containers • Instalando LXC: 
 sudo apt-get install lxc 
 
 

  • 19. LXC - Linux Containers • Instalando LXC: 
 sudo apt-get install lxc • Criando um container busybox (minimalista): 
 sudo lxc-create --template busybox --name testando
 setting root password to "root"
 Password for 'root' changed
  • 20. LXC - Linux Containers • Rodando:
 sudo lxc-start --name testando
 udhcpc: SIOCGIFINDEX: No such device
 Please press Enter to activate this console.
 / 

  • 21. LXC - Linux Containers • Rodando:
 sudo lxc-start --name testando
 udhcpc: SIOCGIFINDEX: No such device
 Please press Enter to activate this console.
 / • Parando (tem que usar um outro terminal no host):
 sudo lxc-stop --name testando
  • 25. Docker • Copy-on-write (AUFS) • Logging (stdout/stderr/stdin) ! ! !
  • 26. Docker • Copy-on-write (AUFS) • Logging (stdout/stderr/stdin) • Change management (imagens) ! !
  • 27. Docker • Copy-on-write (AUFS) • Logging (stdout/stderr/stdin) • Change management (imagens) • Automatic build (Dockerfile) !
  • 28. Docker • Copy-on-write (AUFS) • Logging (stdout/stderr/stdin) • Change management (imagens) • Automatic build (Dockerfile) • Component re-use (FROM: image)
  • 29. Docker • Copy-on-write (AUFS) • Logging (stdout/stderr/stdin) • Change management (imagens) • Automatic build (Dockerfile) • Component re-use (FROM: image) • Sharing (dockerhub/registry)
  • 31. VMs vs Docker • Sobe rápido ! ! 

  • 32. VMs vs Docker • Sobe rápido • Padronização ! 

  • 33. VMs vs Docker • Sobe rápido • Padronização • Fácil replicação 

  • 34. VMs vs Docker • Sobe rápido • Padronização • Fácil replicação • Melhor utilização de recursos
  • 35. VMs vs Docker • Sobe rápido • Padronização • Fácil replicação • Melhor utilização de recursos • Overhead de IO !
  • 36. VMs vs Docker • Sobe rápido • Padronização • Fácil replicação • Melhor utilização de recursos • Overhead de IO • Não tão isolado
  • 37. VMs vs Docker • Sobe rápido • Padronização • Fácil replicação • Melhor utilização de recursos • Overhead de IO • Não tão isolado • Só Linux
  • 38. Tips • Não é VM, é CONTAINER ! ! 

  • 39. Tips • Não é VM, é CONTAINER • Porque container (padrão de transporte) ! 

  • 40. Tips • Não é VM, é CONTAINER • Porque container (padrão de transporte) • Conceito de Guest e Host, também vale. 

  • 41. Tips • Não é VM, é CONTAINER • Porque container (padrão de transporte) • Conceito de Guest e Host, também vale. • Imagem vs Container (imagem é estática, container é o que roda). Similar a VM e imagem da VM (AMI)
  • 42. Basics • docker pull ! ! ! ! ! ! Tutorial de introdução (10min): https://www.docker.com/tryit/
  • 43. Basics • docker pull • docker ps ! ! ! ! ! Tutorial de introdução (10min): https://www.docker.com/tryit/
  • 44. Basics • docker pull • docker ps • docker images ! ! ! ! Tutorial de introdução (10min): https://www.docker.com/tryit/
  • 45. Basics • docker pull • docker ps • docker images • docker run ! ! ! Tutorial de introdução (10min): https://www.docker.com/tryit/
  • 46. Basics • docker pull • docker ps • docker images • docker run • docker exec ! ! Tutorial de introdução (10min): https://www.docker.com/tryit/
  • 47. Basics • docker pull • docker ps • docker images • docker run • docker exec • docker commit ! Tutorial de introdução (10min): https://www.docker.com/tryit/
  • 48. Basics • docker pull • docker ps • docker images • docker run • docker exec • docker commit • docker inspect Tutorial de introdução (10min): https://www.docker.com/tryit/
  • 49. Basics • docker pull • docker ps • docker images • docker run • docker exec • docker commit • docker inspect • docker push Tutorial de introdução (10min): https://www.docker.com/tryit/
  • 50. Instalation • Debian, Arch, Fedora, CentOS, AWS EC2, Mac OS X, Suse, Microsoft Ubuntu, Microsoft Windows, etc... 
 https://docs.docker.com/installation/#installation
  • 51. Instalation • Debian, Arch, Fedora, CentOS, AWS EC2, Mac OS X, Suse, Microsoft Ubuntu, Microsoft Windows, etc... • Mac OS X e Microsoft Windows (boot2docker-vm) https://docs.docker.com/installation/#installation
  • 52. Docker Machine • Cria uma VM com boot2docker onde você quiser 
 
 
 
 
 https://docs.docker.com/machine/
  • 53. Docker Machine • Cria uma VM com boot2docker onde você quiser • Amazon Web Services, Digital Ocean, Google Compute Engine, IBM Softlayer, Microsoft Azure, Openstack, etc... 
 https://docs.docker.com/machine/
  • 54. Docker Machine • Cria uma VM com boot2docker onde você quiser • Amazon Web Services, Digital Ocean, Google Compute Engine, IBM Softlayer, Microsoft Azure, Openstack, etc... • Preparado para criação de clusters (Swarms) https://docs.docker.com/machine/
  • 56. DOCKER COMPOSE e não composeeerrr...
  • 57. Docker Compose • Antigo fig.sh 
 
 
 https://docs.docker.com/compose/
  • 58. Docker Compose • Antigo fig.sh • Arquivo yml que descreve os microsistemas 
 
 https://docs.docker.com/compose/
  • 59. Docker Compose • Antigo fig.sh • Arquivo yml que descreve os microsistemas • Comandos: build, help, kill, logs, port, ps, pull, rm, run, scale, start, stop, up https://docs.docker.com/compose/
  • 60. Why Compose? • Imagine que você entrou no E-Bahya 
 
 

  • 61. Why Compose? • Imagine que você entrou no E-Bahya • Maior e-commerce da África Latina com trocentos acessos por minutos 
 

  • 62. Why Compose? • Imagine que você entrou no E-Bahya • Maior e-commerce da África Latina com trocentos acessos por minutos • Cada serviço do E-Bahya roda em um servidor na nuvem Alazão Jeg Servers (escalável de acordo com a qtde de acessos - sempre entre 5 e 10 instâncias rodando)
  • 63. Why Compose? • Imagine que você entrou no E-Bahya • Maior e-commerce da África Latina com trocentos acessos por minutos • Cada serviço do E-Bahya roda em um servidor na nuvem Alazão Jeg Servers (escalável de acordo com a qtde de acessos - sempre entre 5 e 10 instâncias rodando) • Serviços se comunicam entre si via rede privada
  • 65. Why Compose? Como você monta o ambiente na sua máquina? 
 
 
 
 
 
 

  • 67. Why Compose? Como você monta o ambiente na sua máquina? a) vou instalando os pacotes: do banco, nginx / apache, etc
 
 
 
 
 
 

  • 68. Why Compose? Como você monta o ambiente na sua máquina? a) vou instalando os pacotes: do banco, nginx / apache, etc
 b) vou instalando mas na versão do site: nginx 1.2.1, php 5.6.1
 
 
 
 
 

  • 69. Why Compose? Como você monta o ambiente na sua máquina? a) vou instalando os pacotes: do banco, nginx / apache, etc
 b) vou instalando mas na versão do site: nginx 1.2.1, php 5.6.1
 c) vou levantar um virtualbox com todos os serviços instalados
 
 
 
 

  • 70. Why Compose? Como você monta o ambiente na sua máquina? a) vou instalando os pacotes: do banco, nginx / apache, etc
 b) vou instalando mas na versão do site: nginx 1.2.1, php 5.6.1
 c) vou levantar um virtualbox com todos os serviços instalados
 d) manjo tudo de docker vou montar um container com a distro linux que está nos servidores e os pacotes nas versões certas.
 
 

  • 71. Why Compose? Como você monta o ambiente na sua máquina? a) vou instalando os pacotes: do banco, nginx / apache, etc
 b) vou instalando mas na versão do site: nginx 1.2.1, php 5.6.1
 c) vou levantar um virtualbox com todos os serviços instalados
 d) manjo tudo de docker vou montar um container com a distro linux que está nos servidores e os pacotes nas versões certas.
 e) um container para cada serviço: um pro banco, um para a sessão, um pro servidor web, um para o elastic search, um para o frontend e um para o backend e assim por diante
  • 72. Live Demo anything can go wrong now
  • 74. Q&A