desenvolvendo com php e docker

34
Desenvolvendo e deployando aplicações PHP utilizando Docker 1

Upload: waldemar-neto

Post on 09-Apr-2017

166 views

Category:

Software


3 download

TRANSCRIPT

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

O que é Docker?4

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

Containers12

Volumes

DADOS

13

Osquestração com docker-compose14

Laravel PHP + DockerConfigurando o Docker para apps PHP

15

Laravel16

CriandoDockerfile

17

Processo de build

18

Docker Compose

19

NETWORK

APP

depends e volumes

Servidor web porta 80

20

Sincronizando volumes

Monta volume no container

21

Rodando comando externos22

Outros comandos23

Comandos customizados

True ou false

24

Containers para executarem ações25

Shipping to production!Pontos de atenção

26

Imagem como artefato27

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

Docker Swarm

Docker Swarm

Node 1 Node 2 Node 3

APP APP

APP

31

Kubernetes

Kubernetes masterreplication controller

Node 1 Node 2 Node 3

POD

APP

POD

APP

APP

POD

32

Valeu!Perguntas?

@waldemarnt - @littlejuh_