(16) 981791110 contato@policast.studio

O que é o Docker Compose?

O Docker Compose é uma ferramenta que permite definir e executar aplicativos multi-contêineres de uma forma mais fácil, organizada e escalável. Com ele é possível definir as dependências entre os contêineres e gerenciá-los de forma unificada. Além disso, ele permite automatizar a instalação e a inicialização de contêineres, e oferece uma forma simples de configuração de ambientes.

Como instalar o Docker Compose?

Antes de instalar o Docker Compose, é necessário instalar o Docker. Para instalar o Docker Compose, basta executar o seguinte comando no terminal:

sudo curl -L "https://github.com/docker/compose/releases/download/{versão}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Lembre-se de substituir “{versão}” pela versão do Docker Compose que deseja instalar. Depois de executar o comando, lembre-se de dar permissão de execução ao arquivo com o comando:

sudo chmod +x /usr/local/bin/docker-compose

Como criar um arquivo docker-compose.yml?

Para criar um arquivo docker-compose.yml, basta criar um arquivo de texto com esse nome na raiz do seu projeto Symfony, e em seguida definir todos os serviços que deseja utilizar dentro dele, junto com suas configurações e dependências.

Por exemplo, para configurar um contêiner do MySQL, basta definir o serviço “mysql” dentro do arquivo docker-compose.yml, conforme o exemplo abaixo:


version: "3"
services:
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: symfony
MYSQL_ROOT_PASSWORD: root

Como executar os serviços com o Docker Compose?

Para executar os serviços definidos no arquivo docker-compose.yml, basta executar o comando “docker-compose up” na raiz do seu projeto Symfony. Isso irá construir e inicializar todos os contêineres, com suas configurações e dependências. Se desejar executar o Compose em background, basta adicionar a flag “-d” ao comando.

Por exemplo, para executar o Compose em background, basta executar o comando:

docker-compose up -d

Como acessar o aplicativo Symfony através do Docker Compose?

Para acessar o aplicativo Symfony através do Docker Compose, basta abrir o navegador e acessar o endereço “http://localhost:8000”. Se não houver nenhum serviço mapeando a porta 8000 do host, verifique no arquivo docker-compose.yml como a porta está sendo mapeada e utilize a porta correta para acessar o seu aplicativo.

Como exibir o log dos serviços com o Docker Compose?

Para exibir o log dos serviços definidos no arquivo docker-compose.yml, basta executar o comando “docker-compose logs” na raiz do seu projeto Symfony. Isso irá exibir o log de todos os contêineres executados pelo Compose, com informações sobre a inicialização, execução e possíveis erros.

Como parar os serviços com o Docker Compose?

Para parar os serviços definidos no arquivo docker-compose.yml, basta executar o comando “docker-compose down” na raiz do seu projeto Symfony. Isso irá parar todos os contêineres em execução, liberar as portas e eliminar os volumes utilizados pelos serviços.

Como reiniciar os serviços com o Docker Compose?

Para reiniciar os serviços definidos no arquivo docker-compose.yml, basta executar novamente o comando “docker-compose up” na raiz do seu projeto Symfony. Isso irá reconstruir e reinicializar todos os contêineres, com suas configurações e dependências atualizadas.

Como escalar os serviços com o Docker Compose?

Para escalar os serviços definidos no arquivo docker-compose.yml, basta definir a quantidade desejada de instâncias de cada serviço e executar o comando “docker-compose up –scale =”, substituindo “” pelo nome do serviço e “” pela quantidade desejada de instâncias.

Por exemplo, para escalar o serviço “web” para 3 instâncias, basta executar o comando:

docker-compose up --scale web=3

Como configurar as variáveis de ambiente com o Docker Compose?

Para configurar as variáveis de ambiente dos serviços definidos no arquivo docker-compose.yml, basta definir as variáveis dentro dos serviços com a propriedade “environment”. As variáveis podem ser inseridas manualmente ou lidas de um arquivo “.env” na raiz do seu projeto Symfony.

Por exemplo, para definir a variável “APP_ENV” no serviço “web”, basta adicionar as seguintes linhas no arquivo docker-compose.yml:


services:
web:
environment:
APP_ENV: dev

Como mapear volumes com o Docker Compose?

Para mapear volumes no Docker Compose, basta definir os diretórios a serem mapeados dentro dos serviços com a propriedade “volumes”. Os diretórios podem ser mapeados de forma manual ou lidos de um arquivo “docker-compose.override.yml” na raiz do seu projeto Symfony.

Por exemplo, para mapear o diretório “/var/www/html” do contêiner do serviço “php” para a pasta “./symfony” do host, basta adicionar as seguintes linhas no arquivo docker-compose.yml:


services:
php:
volumes:
- ./symfony:/var/www/html