DevOps

Configuração do Laravel com Docker

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.

bash
mkdir 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.

yaml
version: '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.

makefile
DB_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:

bash
docker-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:

bash
docker-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.

Botão Voltar ao Topo