Desenvolvendo e deployando aplicações PHP utilizando Docker
1
Sobre nós
Waldemar Neto @waldemarnt
http://walde.co/
Juliana Fernandes @littlejuh_
https://github.com/littlejuhhttps://speakerdeck.com/littlejuh
2
Componentes de uma aplicação PHP
APP
Extensions:Php5-mysqlMcrypt...
Configurações:{ Env: prod, Db_name: ...}
3
Alguns benefícios5
Onboard rápido e fácil Sem conflitos na app Consistência nos ambientes
ConceitosDockerfile, build, containers e orquestração
6
Docker vs Maquinas Virtuais7
Dockerfile
FROM imagem
RUN comando
COPY copia arquivos do host para a imagem
CMD comando de saida
8
Imagem Docker
FROM imagem
RUN comando
COPY copia arquivos do host para a imagem
CMD comando de saida
9
Cachê de camadas de imagens docker
FROM imagem
RUN outro comando
COPY copia arquivos do host para a imagem
CMD comando de saida
10
Processo de Build
Download da imagem base Comandos
Imagem pronta
11
Osquestração com docker-compose14
Laravel PHP + DockerConfigurando o Docker para apps PHP
15
Sincronizando volumes
Monta volume no container
21
Rodando comando externos22
Containers para executarem ações25
Shipping to production!Pontos de atenção
26
O mesmo ambiente em todo lugar
GITDEV
QA
PROD
CI/CD
Registry
28
Orquestração em produção29
Docker compose em produção
Node
docker compose
APP
● Facilidade de usar em dev e prod
● Focado em orquestração
● Focado em uma máquina/node
● Não possui health check
● Possui downtime
● Baixa resiliencia
30
Kubernetes
Kubernetes masterreplication controller
Node 1 Node 2 Node 3
POD
APP
POD
APP
APP
POD
32
Referencias33
● docker.com
● laravel.com
● kubernetes.io
● leanpub.com/dockerparadesenvolvedores
● http://techfree.com.br
● https://12factor.net
Valeu!Perguntas?
@waldemarnt - @littlejuh_