Skip to main content

Comandos | Docker-Compose

  • Comandos | Docker-Compose

Visão Geral

O docker-compose é utilizado para orquestrar aplicações multi-container através de um arquivo docker-compose.yml. Ele permite definir, subir, parar e gerenciar serviços de forma declarativa.


Lifecycle (Subir e Derrubar Ambiente)

docker-compose up

Responsável por criar e iniciar os containers definidos no compose.

Parâmetros

  • -d: Executa em background (detached)
  • --build: Força build das imagens antes de subir
  • --no-build: Não realiza build
  • --force-recreate: Recria containers mesmo sem mudanças
  • --no-recreate: Não recria containers existentes
  • --remove-orphans: Remove containers não definidos no compose
  • --scale service=n: Escala um serviço específico
  • --abort-on-container-exit: Para todos os containers se um parar

Exemplo

docker-compose up -d --build

docker-compose down

Responsável por parar e remover containers, redes e recursos criados.

Parâmetros

  • --volumes: Remove volumes associados
  • --remove-orphans: Remove containers órfãos
  • --rmi all: Remove todas as imagens
  • --rmi local: Remove apenas imagens locais

Exemplo

docker-compose down --volumes

Build e Imagens

docker-compose build

Realiza o build das imagens definidas no compose.

Parâmetros

  • --no-cache: Ignora cache do build
  • --pull: Atualiza imagens base
  • --parallel: Executa builds em paralelo

Exemplo

docker-compose build --no-cache

docker-compose pull

Baixa imagens dos serviços definidos.

Parâmetros

  • --ignore-pull-failures: Ignora falhas
  • --parallel: Download paralelo

docker-compose push

Envia imagens para um registry.

Parâmetros

  • --ignore-push-failures: Continua mesmo com erro

Execução de Containers

docker-compose start

Inicia containers existentes sem recriação.

docker-compose start

docker-compose stop

Para containers em execução.

Parâmetros

  • -t, --timeout: Tempo antes de forçar parada
docker-compose stop

docker-compose restart

Reinicia containers.

docker-compose restart

docker-compose kill

Envia sinal para containers.

Parâmetros

  • -s SIGNAL: Define sinal (ex: SIGKILL)
docker-compose kill -s SIGKILL

Execução de Comandos

docker-compose exec

Executa comando em container já em execução.

Parâmetros

  • -d: Detached
  • -T: Sem TTY
  • --user: Usuário específico

Exemplo

docker-compose exec api bash

docker-compose run

Executa um comando criando um novo container.

Parâmetros

  • --rm: Remove container após execução
  • --service-ports: Expõe portas
  • -e: Variáveis de ambiente

Exemplo

docker-compose run --rm api npm install

Logs e Debug

docker-compose logs

Visualiza logs dos containers.

Parâmetros

  • -f: Stream contínuo
  • --tail: Limite de linhas
  • --since: A partir de um tempo

Exemplo

docker-compose logs -f --tail=100

docker-compose ps

Lista containers do projeto.

docker-compose ps

docker-compose top

Mostra processos em execução dentro dos containers.

docker-compose top

Configuração e Validação

docker-compose config

Valida e exibe configuração final processada.

docker-compose config

docker-compose ls

Lista projetos ativos.

docker-compose ls

Escala

docker-compose up --scale

Escala serviços diretamente no comando up.

Exemplo

docker-compose up -d --scale api=3

Limpeza

docker-compose rm

Remove containers parados.

Parâmetros

  • -f: Força remoção
  • -v: Remove volumes
  • -s: Remove apenas containers parados

Exemplo

docker-compose rm -f -v

Monitoramento

docker-compose events

Exibe eventos em tempo real do ambiente.

docker-compose events

Estrutura Mental dos Comandos

Lifecycle:
up / down

Build:
build / pull / push

Runtime:
start / stop / restart / kill

Exec:
exec / run

Debug:
logs / ps / top

Config:
config / ls

Cleanup:
rm