Dockerizando a vida
 8º Meetup – PHP Pernambuco
Matheus Melo
O que significa Docker?
"a person who works at a port, putting goods onto and taking
them off ships"
O que ele faz e qual seu propósito?
 Ele provê um jeito ”fácil” de rodar, levantar e ”entregar” sua aplicação
 Entregar esse valor em plataformas Windows Server, Linux e Mac.
 Reduzir os problemas causados por diferenças de ambiente (Produção Vs.
Desenvolvimento)
”…mas na minha máquina funciona!”
 Pode isso, Bial?
 Seria esse o principal motivo?
Vantagens Generalizadas
 Elimina a assertiva ”Funciona na minha máquina”
 Facilita o gerenciamento/monitoramento de recursos
 Ambientes isolados | Recursos limitados
 Ajuda a construir um pipeline ágil de entrega contínua
 Não requer o uso de VM’s
 (mas não significa que você não possa/deva usar)
Desvantagens gerais
 Segurança pode ser severamente comprometida
 Multiplos containers podem sofrer impactos relacionados a mudanças no
sistemas geral.
Alternativas
 Vagrant | Otto
 Kubernetes
 Apache Mesos
 RKT
 Stakkr
 Dentre outros…
Como de fato ele funciona?
 Ele trabalha com um sistema de ”contentorização” que encapsula o ambiente
inteiro de sua aplicação
Requisitos
 Variam de acordo com o sistema e a versão de Docker que deseja utilizar
 Windows
 Docker for Windows (Server ou Windows pro)
 Hyper-v
 Docker Toolbox
 VTx (Virtualization Technology)
 Mac
 Docker for Mac (> 2010 model) MMU e EPT
 Docker Toolbox
 Linux
Os dois cenários do Docker
 Desenvolvimento
 Entrega/Deploy
Cenário 1 - Desenvolvimento
 Por que usar o Docker para desenvolver?
 Como usar o Docker para desenvolver?
 Possíveis problemas?
 Exemplos
Cenário 2 – Produção/Deploy
 Por que usar o Docker para deploy?
 Como usar o Docker para realizar suas entregas (deploys)?
 Possíveis problemas?
 Exemplos
Como começar?
 Faça um mapeamento da sua aplicação
 Faça um mapeamento do seu ambiente de produção
 Procure ou construa um Dockerfile que replique seu ambiente de produção
 Amadureça seu container
 Escolha um método de deploy e o configure
 Vá para a praia e tome uma cerveja
DockerHub
 O que é?
 Como usar?
 Exemplos
Dúvidas?
Contatos
 Matheus Melo
 Facebook: /matheuscmpm
 E-mail: matheuscmpm@gmail.com
 E-mail [2]: matheus.melo@idealizza.com.br
 Whatsapp: +55 (81) 98185-8411

Dockerizando a vida - 8º Meetup - PHP Pernambuco

  • 1.
    Dockerizando a vida 8º Meetup – PHP Pernambuco Matheus Melo
  • 2.
    O que significaDocker? "a person who works at a port, putting goods onto and taking them off ships"
  • 3.
    O que elefaz e qual seu propósito?  Ele provê um jeito ”fácil” de rodar, levantar e ”entregar” sua aplicação  Entregar esse valor em plataformas Windows Server, Linux e Mac.  Reduzir os problemas causados por diferenças de ambiente (Produção Vs. Desenvolvimento)
  • 4.
    ”…mas na minhamáquina funciona!”  Pode isso, Bial?  Seria esse o principal motivo?
  • 5.
    Vantagens Generalizadas  Eliminaa assertiva ”Funciona na minha máquina”  Facilita o gerenciamento/monitoramento de recursos  Ambientes isolados | Recursos limitados  Ajuda a construir um pipeline ágil de entrega contínua  Não requer o uso de VM’s  (mas não significa que você não possa/deva usar)
  • 6.
    Desvantagens gerais  Segurançapode ser severamente comprometida  Multiplos containers podem sofrer impactos relacionados a mudanças no sistemas geral.
  • 7.
    Alternativas  Vagrant |Otto  Kubernetes  Apache Mesos  RKT  Stakkr  Dentre outros…
  • 8.
    Como de fatoele funciona?  Ele trabalha com um sistema de ”contentorização” que encapsula o ambiente inteiro de sua aplicação
  • 9.
    Requisitos  Variam deacordo com o sistema e a versão de Docker que deseja utilizar  Windows  Docker for Windows (Server ou Windows pro)  Hyper-v  Docker Toolbox  VTx (Virtualization Technology)  Mac  Docker for Mac (> 2010 model) MMU e EPT  Docker Toolbox  Linux
  • 10.
    Os dois cenáriosdo Docker  Desenvolvimento  Entrega/Deploy
  • 11.
    Cenário 1 -Desenvolvimento  Por que usar o Docker para desenvolver?  Como usar o Docker para desenvolver?  Possíveis problemas?  Exemplos
  • 12.
    Cenário 2 –Produção/Deploy  Por que usar o Docker para deploy?  Como usar o Docker para realizar suas entregas (deploys)?  Possíveis problemas?  Exemplos
  • 13.
    Como começar?  Façaum mapeamento da sua aplicação  Faça um mapeamento do seu ambiente de produção  Procure ou construa um Dockerfile que replique seu ambiente de produção  Amadureça seu container  Escolha um método de deploy e o configure  Vá para a praia e tome uma cerveja
  • 14.
    DockerHub  O queé?  Como usar?  Exemplos
  • 15.
  • 16.
    Contatos  Matheus Melo Facebook: /matheuscmpm  E-mail: matheuscmpm@gmail.com  E-mail [2]: matheus.melo@idealizza.com.br  Whatsapp: +55 (81) 98185-8411