Skip to content

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:

sh
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):

sh
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:

sh
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:

sh
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.

Laravel home

Dica

Para parar os contêineres, basta pressionar "Ctrl + C" no terminal.