Como instalar o Laravel em contêineres
O Laravel é um dos frameworks de desenvolvimento web mais usados, sendo uma ferramenta que cobre diferentes aspectos do desenvolvimento web em um só lugar, é frequentemente escolhido por sua variedade de ferramentas que simplificam o processo de criação de sistemas.
Introdução
A maneira mais fácil de executar o Laravel, independentemente do sistema operacional que você usa, é usando contêineres. Os contêineres do Docker estão disponíveis no Linux, Mac e Windows. Isso permite que equipes com diferentes plataformas executem o mesmo projeto sem se preocupar com dependências ou sistemas externos, como bancos de dados.
Antes de instalar o Laravel, é necessário instalar o Docker Desktop. Uma vez que o Docker Desktop esteja instalado, podemos usar os comandos do Laravel Sail para gerenciar os contêineres.
Instalando o Laravel
A instalação do Laravel varia um pouco dependendo do sistema operacional. Aqui vou mostrar como fazer no Linux, Mac e Windows.
Para instalar o Laravel, abra o terminal e navegue até o diretório onde deseja criar seu aplicativo. Execute o seguinte comando, onde my-laravel-app
é o nome da pasta do projeto.
Informação
Certifique-se de que o nome inclua apenas caracteres alfanuméricos, traços e sublinhados.
Comando de instalação para MacOS:
curl -s "https://laravel.build/my-laravel-app" | bash
Aviso
Antes de executar o comando do Windows, certifique-se de ter o Docker Desktop instalado e o WSL (Subsistema do Windows para Linux) instalado e habilitado. Você pode aprender como instalar o WSL aqui. Após instalar o WSL, também verifique se o Docker Desktop está configurado para usar o WSL. É altamente recomendável que você execute o comando de instalação dentro da pasta home
da distribuição Linux que você usa para o WSL. Fazer isso lá tem vantagens de desempenho em comparação com fazer dentro da unidade C:
.
Comando de instalação para Linux ou Windows (WSL):
curl -s https://laravel.build/example-app | bash
Informação
Se você receber a mensagem "O Docker não está em execução", é necessário que o Docker esteja em execução para que o comando funcione corretamente.
O comando pode solicitar a senha do usuário, isso é necessário para definir as permissões da pasta corretamente.
Uma vez bem-sucedido, você deve ver uma mensagem semelhante a esta:
Application ready! Build something amazing.
Sail scaffolding installed successfully.
Please provide your password so we can make some final adjustments to your application's permissions.
Password:
Thank you! We hope you build something incredible. Dive in with: cd my-laravel-app && ./vendor/bin/sail up
Quando terminar, navegue até o diretório do aplicativo no terminal com cd my-laravel-app
e execute os contêineres com ./vendor/bin/sail up
. Na primeira vez que este comando for executado, levará um tempo, pois o aplicativo construirá os contêineres necessários. No entanto, as vezes subsequentes serão muito mais rápidas.
Uma vez que os contêineres estejam ativos, o console mostrará informações semelhantes a estas:
my-laravel-app-mysql-1 | 2022-05-29T18:54:38.584635Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.28' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server - GPL.
my-laravel-app-meilisearch-1 | [2022-05-29T18:54:46Z INFO actix_web::middleware::logger] 127.0.0.1 "GET /health HTTP/1.1" 200 22 "-" "Wget" 0.013543
my-laravel-app-meilisearch-1 | [2022-05-29T18:55:16Z INFO actix_web::middleware::logger] 127.0.0.1 "GET /health HTTP/1.1" 200 22 "-" "Wget" 0.000049
my-laravel-app-mailhog-1 | [APIv1] KEEPALIVE /api/v1/events
my-laravel-app-laravel.test-1 | [Sun May 29 18:55:39 2022] 172.22.0.1:62972 Accepted
my-laravel-app-laravel.test-1 | [Sun May 29 18:55:40 2022] 172.22.0.1:62972 Closing
my-laravel-app-laravel.test-1 | [Sun May 29 18:55:40 2022] 172.22.0.1:62974 Accepted
my-laravel-app-laravel.test-1 | [Sun May 29 18:55:40 2022] 172.22.0.1:62974 Closing
my-laravel-app-laravel.test-1 | [Sun May 29 18:55:40 2022] 172.22.0.1:62976 Accepted
my-laravel-app-laravel.test-1 | [Sun May 29 18:55:40 2022] 172.22.0.1:62976 [200]: GET /favicon.ico
my-laravel-app-laravel.test-1 | [Sun May 29 18:55:40 2022] 172.22.0.1:62976 Closing
E você pode navegar até http://localhost para acessar o aplicativo.
Dica
Para parar os contêineres, basta pressionar "Ctrl + C" no terminal.