(16) 981791110 contato@policast.studio

Como integrar o Docker com o Symfony: viabilizando um ambiente de desenvolvimento leve e portátil

O Symfony é um dos frameworks mais populares em PHP, usado para desenvolver aplicações web complexas e robustas. Já o Docker é uma plataforma para desenvolver, enviar e executar aplicativos em contêineres. A integração entre essas duas ferramentas pode trazer muitos benefícios para o desenvolvimento de projetos, principalmente em relação à rapidez e portabilidade do ambiente de desenvolvimento.

O que é o Docker?

O Docker é uma plataforma que permite criar e executar aplicativos em contêineres isolados, que podem ser facilmente distribuídos e executados em diferentes ambientes. Cada contêiner é uma unidade independente, que contém todos os recursos necessários para executar um aplicativo, como dependências, bibliotecas, arquivos de configuração, etc.

Com o Docker, é possível criar um ambiente de desenvolvimento isolado do sistema operacional do computador, sem a necessidade de instalar todas as dependências e ferramentas manualmente. Isso torna o processo de desenvolvimento mais fácil e rápido, e permite que os desenvolvedores trabalhem em diferentes plataformas sem problemas de compatibilidade.

Como integrar o Docker com o Symfony?

Para integrar o Docker com o Symfony, é necessário seguir alguns passos simples:

  1. Crie um arquivo Dockerfile no diretório raiz do seu projeto Symfony, contendo as instruções para criar a imagem Docker. Por exemplo:

  2. FROM php:7.4-fpm

    # Instala as dependências do Symfony
    RUN apt-get update \ && apt-get install -y --no-install-recommends \ && apt-get clean \ && rm -rf /var/lib/apt/lists/*

    # Copie o diretório do seu projeto para o diretório de trabalho
    COPY . /var/www/html

    # Defina o diretório de trabalho
    WORKDIR /var/www/html

    # Instale as dependências do Composer
    RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
    && composer install

    # Exponha a porta 9000
    EXPOSE 9000

    # Inicie o servidor PHP-FPM
    CMD ["php-fpm"]

    Esse arquivo Dockerfile define uma imagem Docker baseada na versão 7.4 do PHP, instala as dependências do Symfony, copia o diretório do projeto para o contêiner, instala as dependências do Composer, expõe a porta 9000 e inicia o servidor PHP-FPM.

  3. Crie um arquivo docker-compose.yml para definir o ambiente de desenvolvimento completo. Por exemplo:

  4. version: '3'

    services:
    db:
    image: mysql:5.7
    environment:
    MYSQL_ROOT_PASSWORD: example

    php:
    build:
    context: .
    volumes:
    - .:/var/www/html
    ports:
    - "8000:8000"
    depends_on:
    - db

    webserver:
    image: nginx:alpine
    ports:
    - "80:80"
    volumes:
    - .:/var/www/html
    - .docker/nginx/conf.d:/etc/nginx/conf.d
    depends_on:
    - php

    Esse arquivo docker-compose.yml define três serviços: um para o banco de dados MySQL, outro para o servidor PHP-FPM e outro para o servidor web Nginx. O serviço do PHP usa a imagem definida no Dockerfile anterior, montando o diretório atual como volume e expondo a porta 8000. O serviço do Nginx usa a imagem publicamente disponível do Nginx, montando os arquivos de configuração do servidor virtual.

  5. Execute o comando ‘docker-compose up’ no terminal para criar e executar os contêineres.
  6. Com esses passos, você terá um ambiente de desenvolvimento completo para o Symfony, isolado em um contêiner Docker e independente do sistema operacional do computador.

Conclusão

A integração entre o Docker e o Symfony permite criar um ambiente de desenvolvimento leve, portátil e fácil de configurar. Com o Docker, é possível isolar o ambiente de desenvolvimento do restante do sistema operacional do computador, evitar conflitos de dependência e criar ambientes de desenvolvimento idênticos para diferentes desenvolvedores. Isso pode melhorar significativamente a produtividade da equipe de desenvolvimento e reduzir o tempo de configuração do ambiente de desenvolvimento.