PHP

21 out, 2019

Criando um ambiente de desenvolvimento PHP mínimo com Docker – Parte 2

100 visualizações
Publicidade

Fala devs, vamos de segunda parte?

Este artigo faz parte de uma série onde escrevo sobre docker e mostro como é simples configurar um ambiente de desenvolvimento mínimo utilizando containers.

Série completa:

  1. Conceitos básicos, caso de uso, vantagens e instalação
  2. Criação de um ambiente PHP
  3. Servidor web e banco de dados

Dockerfile:

É neste arquivo que iremos definir a imagem base que será utilizada no ambiente, instalar as dependências e realizar todas as configurações necessárias. Portanto, crie um arquivo chamado Dockerfile na raiz do seu diretório de trabalho com o seguinte conteúdo:

FROM php:7.1-fpm
RUN docker-php-ext-install pdo_mysql

Nele, estamos declarando a utilização da imagem php:7.1-fpm e a instalação da dependência pdo_mysql, que será necessária na terceira parte da série.

Docker Compose:

Crie um arquivo chamado docker-compose.yml na raiz do seu diretório de trabalho com o seguinte conteúdo:

version: "3.7" 
services:
  php:
    build:
      context: .
    image: phpdocker
    container_name: php
    ports:
      - "9000:9000"
    volumes:
      - ".:/var/www/html/" 
    command: php -S 0.0.0.0:9000 -t public/

Este arquivo contém a “receita” do nosso ambiente e é nele que devemos declarar todos os nossos containers com os respectivos atributos, relacionamentos, dependências e configurações necessários.

No exemplo acima, estamos criando um container de PHP que utilizará como imagem base o php:7.1-fpm, já declarado no arquivo Dockerfile, além disso, podemos observar que é realizado um mapeamento do diretório de trabalho atual para o /var/www/ do container e que este, estará disponível através da porta 9000, onde o servidor embutido do PHP é executado por padrão, como podemos observar na tag command.

Para fins didáticos, crie um diretório chamadopublic e dentro dele crie um arquivo chamado index.php com o seguinte conteúdo:

<?php
phpinfo();

Para “subir” containers através do Docker Compose execute o seguinte comando:

docker-compose up -d

Se tudo deu certo, você pode acessar o container através do browser no seguinte endereço:

http://localhost:9000/