Utilizando PHP com Docker

/me

William Correa

@wilcorrea

Na minha
Máquina
Funciona

O DOCKER

Muitos conceitos,

mas vamos simplificar

Virtualização a nível do sistema operacional

ANFITRIÃO

  • máquina onde o docker roda
  • gerencia recursos
  • configurações globais

IMAGENS

  • funcionam como "ISO"s
  • arquivos conhecidos como Dockerfile
  • estrutura em camadas
  • comandos, instruções

CONTÊINER

  • é a imagem rodando
  • configurações em tempo de execução
  • existe sempre pra fazer alguma coisa
  • estados circunstanciais

VOLUME

  • sistemas de arquivos
  • injeta conteúdo
  • permite sobrescrita
  • tipo um pendrive

REDE

  •  comunicação entre contêineres
  • configuração de hostname, IP e etc 

PORTAS

  • expõe serviços no anfitrião
  • permite acesso a recursos

AMBIENTE

  • variáveis de ambiente
  • configurações de contexto

DIRETÓRIO DE TRABALHO

  • variáveis de ambiente
  • configurações de contexto

O PHP

Muitas necessidades,

vamos entender

PHP FPM

  • socket para executar PHP
  • performance razoável
  • demanda um Web Server

hub.docker.com/_/php

WEB SERVER

  • NGINX
  • versátil
  • escalável

hub.docker.com/_/nginx

MySQL / MariaDB

  • fácin fácin
  • de boas na lagoa
  • suave na nave

hub.docker.com/_/mariadb

Criando
Uma
Imagem

hub.docker.com/_/hello-world

Imagem para PHP

Rodando
Esse
Trem

Linha de comando

Infra como código

Como fica no projeto

Mundo
Real
da Vida

Ampla adoção

Ampla adoção

"build" local

registry

Como eu uso

Dicas

&

Truques

Volumes

Volumes

Volumes

Portas

Diretório de Trabalho

Variáveis de ambiente

Redes

hora das palmas

Utilizando PHP com Docker

By William Correa

Utilizando PHP com Docker

Quem nunca passou pelo problema emblemático "na minha máquina funciona" não é mesmo?! Para minimizar este tipo de problema temos visto um movimento muito forte para criar tecnologias que permitam a reprodução de ambientes de forma rápida e simples. O Docker chega para ajudar a preencher esta lacuna, permitindo que a gente possa configurar ambientes para rodar diferentes versões de serviços para trabalhar com PHP, banco de dados entre outros. Neste material veremos como preparar um ambiente funcional para trabalhar com diversas ferramentas conhecidas de mercado como Laravel, Wordpress, Slim, Symfony e veremos alguns exemplos práticos de conexão com bancos de dados e serviços.

  • 563