Acho que qualquer desenvolvedor que algum dia já mexeu com Docker já se deu o trabalho de subir containers seja para criar testes, rodar em ambiente de desenvolvimento ou apenas publicá-lo. Provavelmente, se você já fez isso, gastou um tempo indo na documentação oficial do Docker, buscando as images, configurando o Dockerfile e o docker-compose.yml, além é claro, dos erros de permissões ou de portas de funcionamento.
Isso é comum, se você nunca passou por isso, fique tranquilo, um dia vai acontecer. Atualmente, trabalho bastante com PHP, em versões variadas e, obviamente, tenho um Dockerfile e um docker-compose escrito a mil anos atrás que utilizo em meus projetos. Então, decidi melhorar isso, comecei a buscar melhores formas de criar containers que fossem rápidas e eficientes e encontrei o Laradock.
Laradock: O que é?
Se como eu, você também trabalha com PHP, deixe-me te apresentar ao Laradock, um ambiente de desenvolvimento Docker pré-configurado para o desenvolvimento de aplicativos PHP. Ele facilita a criação e gerenciamento de ambientes de desenvolvimento local com containers Docker, permitindo que nós, desenvolvedores, rodemos nossas aplicações PHP em ambientes que simulam a produção de forma simples e rápida.
Com o Laradock, temos um ampla gama de serviços prontos para serem utilizados, dentre os principais, podemos citar:
- Nginx: Servidor web.
- MySQL/MariaDB/PostgreSQL: Bancos de dados relacionais.
- Redis: Armazenamento em cache e mensageiro.
- Workspace: Container que contém ferramentas essenciais para desenvolvimento, como Node, Composer, Git, etc.
- PHP-FPM: Processador de PHP.
Configurando o Laradock
Supondo que você já tenha um projeto Laravel, vamos começar com os requisitos do Laradock. Você precisa ter Docker, Docker Compose e Git instalados na sua máquina.
Navegue até o repositório do seu projeto Laravel e, dentro dele, clone o seguinte repositório:
git clone https://github.com/laradock/laradock.git
Entre na pasta “laradock” criada e copie o arquivo .env.example para .env na mesma pasta:
cp env-example .env
Abra o arquivo .env e edite conforme necessário. Nele, você pode definir as versões de cada imagem, configurações de senha e usuário do banco de dados, entre outras opções. Para começar, altere a versão do PHP. Procure por PHP_VERSION e mude para 8.1, em seguida, salve e feche o arquivo.
Por fim, inicie seu container utilizando o docker-compose e informando quais containers serão iniciados. Por exemplo, vamos subir o Nginx com o MySQL:
docker-compose up -d nginx mysql
Pronto, seu projeto já está rodando na porta 8000 do seu computador, basta acessar e vê-lo rodando.
Dicas Extras
Caso queira acessar o PHP pela linha de comando do docker-compose, para rodar testes ou baixar dependências com o Composer, execute o seguinte comando:
docker-compose exec --user=laradock workspace
Agora, você pode executar comandos no terminal de forma simples, como se estivesse no seu próprio terminal. O parâmetro –user=laradock especifica o usuário que executará os comandos no container, evitando erros de permissão.
Para parar o docker-compose, execute:
docker-compose down
Conclusão
O Laradock facilita a vida dos desenvolvedores PHP ao fornecer um ambiente de desenvolvimento Docker pré-configurado, poupando tempo e esforço. Com ele, é possível configurar e gerenciar facilmente ambientes de desenvolvimento que replicam a produção, garantindo maior consistência e eficiência no fluxo de trabalho. Experimente a documentação oficial do Laradock e descubra como ele pode simplificar o desenvolvimento dos seus projetos PHP.
Documentação oficial: https://laradock.io/
Repositório do Github: https://github.com/laradock/laradock?tab=readme-ov-file