Ícone do site dfilitto

Docker Compose: Simplificando a Gestão de Ambientes com Múltiplos Contêineres

Docker

Docker

O Post visa explicar um pouco mais sobre o Docker Compose, ferramenta poderosa para o gerenciamento de ambientes complexos de contêineres Docker, e apresentar seus principais comandos.

Docker Compose: Simplificando a Gestão de Ambientes com Múltiplos Contêineres

O Docker Compose é uma ferramenta poderosa para o gerenciamento de ambientes complexos de contêineres Docker. Quando estamos desenvolvendo ou executando uma aplicação que precisa de várias partes, como um servidor web, um banco de dados e uma interface de frontend, cada um deles pode ser configurado como um contêiner separado. No entanto, gerenciar manualmente todos esses contêineres e as conexões entre eles pode ser demorado e suscetível a erros.

O Docker Compose simplifica esse processo, permitindo que você defina todos os serviços, redes e volumes necessários em um único arquivo de configuração (o docker-compose.yml). Com um único comando, o Docker Compose cria e executa todos os contêineres necessários, configurando automaticamente as dependências e redes de comunicação entre eles.

Para que serve o Docker Compose?

Principais Comandos do Docker Compose

A tabela a seguir resume os principais comandos do Docker Compose e suas funções:

ComandoDescriçãoExemplo
docker-compose upCria e inicia todos os contêineres definidos no arquivo docker-compose.yml.docker-compose up
docker-compose downPara e remove contêineres, redes e volumes definidos pelo Compose.docker-compose down
docker-compose buildConstrói ou reconstrói as imagens Docker para os serviços.docker-compose build
docker-compose startInicia contêineres que foram parados, sem recriá-los.docker-compose start
docker-compose stopPara os contêineres em execução, mas sem removê-los.docker-compose stop
docker-compose restartReinicia os contêineres em execução.docker-compose restart
docker-compose psExibe o status dos contêineres gerenciados pelo Docker Compose.docker-compose ps
docker-compose logsExibe os logs de saída dos contêineres, útil para monitorar e depurar o que está acontecendo.docker-compose logs
docker-compose execExecuta um comando específico em um contêiner em execução.docker-compose exec db mysql -u root -p
docker-compose rmRemove contêineres parados criados pelo Compose.docker-compose rm
docker-compose configVerifica e valida a configuração no docker-compose.yml.docker-compose config
docker-compose scaleAjusta o número de instâncias de um serviço. (para Compose v2)docker-compose scale web=3
docker-compose up --scale <serviço>=<n>Escala o número de instâncias de um serviço na versão v3.docker-compose up --scale web=3

Como Funciona o Docker Compose na Prática?

Para utilizar o Docker Compose, você precisa de um arquivo docker-compose.yml onde vai definir todos os serviços. Por exemplo, se você está criando uma aplicação com um servidor PHP e um banco de dados MySQL, o arquivo pode ser parecido com este:

version: '3.8'

services:
web:
image: php:8.1-apache
ports:
- "8080:80"
volumes:
- ./app:/var/www/html

db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: example
ports:
- "3306:3306"

Com um único comando (docker-compose up -d), o Docker Compose vai:

  1. Baixar as imagens necessárias (php:8.1-apache e mysql:5.7), se ainda não estiverem no sistema.
  2. Criar e iniciar dois contêineres: um para o servidor PHP e outro para o banco de dados MySQL.
  3. Configurar a rede para que o contêiner do servidor web possa se conectar ao banco de dados.

O Docker Compose é, portanto, uma ferramenta essencial para desenvolvedores e administradores de sistemas que trabalham com aplicações complexas em contêineres, trazendo simplicidade, automação e consistência para o gerenciamento desses ambientes.

Aprendando Docker na prática

A playlist ensina do zero como trabalhar com Docker de maneira eficiente sem precisar de ferramentas gráficas, isto é, tudo direto de um terminal.

Sair da versão mobile