Claro, vou guiá-lo através do processo de instalação e configuração do Laravel em um ambiente Docker Compose, uma ferramenta que permite definir e executar aplicativos multi-container Docker. Este método proporciona um ambiente de desenvolvimento isolado e portável para o Laravel. Aqui está o passo a passo:
1. Instalar Docker e Docker Compose
Certifique-se de ter o Docker e o Docker Compose instalados em sua máquina. Você pode seguir as instruções oficiais para instalar essas ferramentas em seu sistema operacional específico.
2. Criar um diretório para o projeto Laravel
Crie um diretório para o seu projeto Laravel e navegue até ele no terminal.
bashmkdir meu_projeto_laravel
cd meu_projeto_laravel
3. Configurar o ambiente Docker
Dentro do diretório do seu projeto, crie um arquivo chamado Dockerfile para definir a imagem Docker para o Laravel.
Dockerfile# Usar a imagem oficial do PHP com Apache FROM php:8.0-apache # Instalar extensões PHP necessárias RUN docker-php-ext-install pdo_mysql # Definir o diretório de trabalho dentro do contêiner WORKDIR /var/www/html # Copiar o código-fonte do Laravel para dentro do contêiner COPY . . # Configurar as permissões de armazenamento do Laravel RUN chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache RUN chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache
4. Criar o arquivo docker-compose.yml
Agora, crie um arquivo docker-compose.yml para definir os serviços necessários para o ambiente de desenvolvimento do Laravel.
yamlversion: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "8000:80"
volumes:
- .:/var/www/html
depends_on:
- db
db:
image: mysql:5.7
environment:
MYSQL_DATABASE: laravel
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: secret
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
5. Configurar o arquivo .env do Laravel
Crie um arquivo .env na raiz do seu projeto Laravel com as configurações de banco de dados correspondentes ao serviço MySQL definido no docker-compose.yml.
makefileDB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=secret
6. Instalar o Laravel
Agora, é hora de instalar o Laravel dentro do seu contêiner Docker. Execute o seguinte comando no terminal dentro do diretório do seu projeto:
bashdocker-compose run --rm app composer create-project --prefer-dist laravel/laravel .
7. Executar o ambiente Docker
Agora, você está pronto para iniciar seu ambiente Docker. Execute o seguinte comando:
bashdocker-compose up
Isso iniciará os serviços definidos no arquivo docker-compose.yml, incluindo o PHP com Apache e o MySQL. O Laravel estará disponível em http://localhost:8000.
Conclusão
Agora você tem um ambiente de desenvolvimento Laravel configurado e em execução usando Docker Compose. Este método oferece isolamento, portabilidade e facilidade de uso para desenvolver aplicativos Laravel. Lembre-se de que você pode personalizar ainda mais o ambiente Docker e o projeto Laravel de acordo com suas necessidades específicas.
“Mais Informações”

Claro, vamos expandir um pouco mais sobre cada etapa do processo e fornecer algumas informações adicionais sobre a configuração e uso do Laravel com Docker Compose.
1. Instalar Docker e Docker Compose
O Docker é uma plataforma de virtualização de contêineres que simplifica o processo de desenvolvimento, implantação e execução de aplicativos em contêineres. O Docker Compose é uma ferramenta que permite definir e gerenciar aplicativos multi-container Docker usando um arquivo YAML para configurar os serviços necessários.
Para instalar o Docker e o Docker Compose, você pode seguir as instruções específicas para o seu sistema operacional no site oficial do Docker:
2. Criar um diretório para o projeto Laravel
Antes de começar a configurar o ambiente Docker para o Laravel, é recomendável criar um diretório dedicado para o seu projeto Laravel. Isso ajuda a manter o código organizado e facilita a gestão de arquivos e configurações relacionadas ao projeto.
3. Configurar o ambiente Docker
No Dockerfile, definimos a imagem base como php:8.0-apache, que inclui o PHP junto com o servidor web Apache. Em seguida, instalamos as extensões PHP necessárias, como pdo_mysql, que é usada pelo Laravel para se conectar ao banco de dados MySQL. Também configuramos o diretório de trabalho dentro do contêiner e copiamos o código-fonte do Laravel para dentro dele. Por fim, ajustamos as permissões dos diretórios storage e bootstrap/cache, que são importantes para o funcionamento adequado do Laravel.
4. Criar o arquivo docker-compose.yml
O arquivo docker-compose.yml define os serviços necessários para o ambiente de desenvolvimento do Laravel. No nosso caso, definimos dois serviços: app e db. O serviço app utiliza a imagem Docker definida no Dockerfile, expõe a porta 8000 do contêiner para acessar o Laravel via navegador, e monta o diretório do projeto como um volume dentro do contêiner para permitir o desenvolvimento em tempo real. O serviço db utiliza a imagem MySQL 5.7 e configura as variáveis de ambiente para definir o nome do banco de dados, usuário e senha.
5. Configurar o arquivo .env do Laravel
O arquivo .env é usado pelo Laravel para configurar várias opções, incluindo as configurações de banco de dados. No nosso caso, configuramos as variáveis de ambiente DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME e DB_PASSWORD para se alinhar com as configurações definidas no arquivo docker-compose.yml. Isso permite que o Laravel se conecte ao banco de dados MySQL dentro do contêiner.
6. Instalar o Laravel
Com o ambiente Docker e o arquivo .env configurados, estamos prontos para instalar o Laravel dentro do contêiner Docker. Usamos o comando docker-compose run --rm app composer create-project --prefer-dist laravel/laravel . para criar um novo projeto Laravel dentro do diretório atual. O Laravel será instalado com todas as dependências necessárias para começar a desenvolver seu aplicativo.
7. Executar o ambiente Docker
Finalmente, executamos o comando docker-compose up para iniciar todos os serviços definidos no arquivo docker-compose.yml. Isso iniciará o servidor web Apache, o MySQL e qualquer outro serviço configurado no arquivo. O Laravel estará disponível em http://localhost:8000, onde você poderá acessar e começar a desenvolver seu aplicativo.
Conclusão
Configurar o Laravel com Docker Compose oferece uma maneira conveniente e eficiente de desenvolver aplicativos Laravel em um ambiente de desenvolvimento isolado e portável. Com Docker, você pode garantir que seu aplicativo funcionará da mesma forma em diferentes ambientes de desenvolvimento e implantação. Além disso, Docker Compose simplifica a gestão de serviços multi-container e permite uma configuração fácil e flexível para suas necessidades de desenvolvimento.

