Github repositório

Ambiente de desenvolvimento Nginx, PHP e MariaDB com Docker

Usar o Docker sempre foi uma barreira para mim, comecei no desenvolvimento web nos anos 2000 e sempre tinha usado os famosos XAMPP, MAMPP e afins, como eles instalam o servidor (apache geralmente) e PHP + Mysql, nunca tive uma necessidade grande de mudar para algo diferente. 

Com a vinda do WSL no Windows 10 passei a rodar uma distribuição Linux no Windows e aposentei o XAMPP. Todavia aqui ainda tinham problemas de versão de componentes e se fizesse uma configuração errada provavelmente teria que reinstalar todo o servidor.

No final do ano passado eu voltei para o MacOS e revisitei a ideia de trabalhar com containers e tentar automatizar / padronizar o meu ambiente de produção. 

O meu host principal é a Configr e eles usam Nginx + PHP + MariaDB, a minha meta foi criar um ambiente local o mais próximo possível do que eles oferecem lá, assim posso rodar local com os mesmos parâmetros do servidor de produção.

A minha abordagem foi criar 3 imagens, para separar as responsabilidades e poder rodar em versões diferentes do PHP e MariaDB.

Outro ponto importante foi criar a persistência de dados, para isso criei uma pasta oculta chamada “.docker” e nela há três sub-pastas:

PastaFunção
.docker/dbPersistência do Banco de Dados
.docker/nginxCustomizações para o servidor Nginx
.docker/phpDockerfile customizado que é usado da imagem do PHP-FPM

Dessa forma posso subir os containers e mata-los que sempre a configuração estará inalterada e os dados mantidos.

Para facilitar futuros projetos e compartilhar criei um repositório no github.

https://github.com/marcelocostabr/docker-template-default

Leave a Reply