Criando um projeto Laravel com Docker de maneira "A jato" utilizando Laravel Sail

yuriferreiradeveloper

Yuri Ferreira

Posted on May 13, 2023

Criando um projeto Laravel com Docker de maneira "A jato" utilizando Laravel Sail

Introdução

Todo desenvolvedor já perdeu algum tempo tentando configurar um ambiente local de desenvolvimento. É uma tarefa que pode ser bastante frustrante, com muitos erros e, no melhor dos cenários, ainda temos que lidar com problemas de incompatibilidade se estivermos trabalhando em uma equipe. No entanto, existe uma solução que se tornou popular nos últimos anos: o Docker.

O Docker é uma das melhores opções para montar um ambiente de desenvolvimento profissional, mas se você não usa Docker em seus projetos pessoais com Laravel, não se preocupe! Este artigo ensina como construir rapidamente e de maneira agradável um ambiente de desenvolvimento local com Laravel Sail.

Laravel Sail

Segundo a própria documentação oficial, o Laravel Sail é um CLI (Cliente de linha de comando) super leve para interagir com ambientes de desenvolvimento Laravel baseados em Docker.

O Sail fornece uma ferramenta acessível para funcionar como um ponto de partida na construção de um aplicativo Laravel, incluindo serviços co-dependentes comumente utilizados, como MySQL e Redis, por exemplo. Tudo isso sem precisar configurar um Dockerfile ou um docker-compose.yml diretamente, embora, é claro, você possa editar várias configurações posteriormente.

Requisitos

Eu vou precisar que você tenha pelo menos o Docker e a ferramenta Curl instalados em seu computador. Você pode baixar o Docker pelo seu site oficial. No caso do Curl, é provável que seu sistema operacional já possua essa ferramenta pré-instalada ou até mesmo instalada, principalmente se estivermos falando de um sistema Linux ou MacOS.

Você também precisará de um terminal para executar os comandos necessários. Seu computar, é claro já possui um, mas se você usa o Windows, recomendo instalar o Ubuntu como subsistema através do WSL, o que é uma tarefa simples. Utilizaremos o terminal que ele nos fornece para executar as próximas ações.

Em resumo, os requisitos necessários para prosseguirmos são:

  • Docker instalado
  • Curl
  • Terminal para executar comandos
  • Se estiver no Windows, é recomendável instalar o Ubuntu como subsistema.

Enfim chegou a hora do grande final!

Passando por toda esta jornada, se você chegou aqui, chegou a hora de juntar tudo que foi explicado (e instalado) e partir para construção do nosso projeto.

Dentro de uma pasta de projetos, você pode abrir seu terminal e executar o comando abaixo para criar um novo projeto, com a versão mais recente do Sail. Apenas vale lembrar que caso as portas necessárias estejam ocupadas será necessário mapeá-las.

curl -s "https://laravel.build/project_name?with=mysql" | bash
Enter fullscreen mode Exit fullscreen mode

Você deve substituir project_name pelo nome do seu projeto. Podemos especificar mais serviços em with, mas por questões didáticas, não abordaremos isso neste artigo.

Aguardaremos o Sail usar o Docker para preparar o nosso ambiente. Na primeira execução, pode haver demora devido à velocidade de sua internet. O Docker nesse momento, pode precisar baixar imagens, caso não as tenha em cache, além de que ele irá criar e conectar os containers e seus serviços, além de executar outras tarefas no "backstage".

Terminal com log do Sail/Docker

Após a conclusão se não obtivemos nenhum erro em nosso console, podemos levantar nossos containers com o seguinte comando:

cd project_name && ./vendor/bin/sail up 
Enter fullscreen mode Exit fullscreen mode

E Voilá! Você está com seu ambiente construído com um container exclusivo para o seu Banco de Dados MySQL e outro para sua aplicação Laravel, com tudo organizado, portátil e de maneira profissional.

Docker Desktop rodando os Containers

Homepage de Boas-Vindas do Laravel

Chegamos ao fim deste artigo! Espero ter conseguido ajudá-lo de alguma forma e que você tenha compreendido e conseguido replicar em sua máquina local. Se você tiver alguma dúvida ou quiser conversar sobre o ecossistema Laravel, pode me enviar um e-mail em yuriferreiradeveloper@gmail.com. Além disso, se você quiser se conectar se comigo no Linkedin, ficarei feliz em trocar uma ideia com você por lá também!

💖 💪 🙅 🚩
yuriferreiradeveloper
Yuri Ferreira

Posted on May 13, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related