Conteúdo

Tutorial de docker compose down: pare e remova contêineres, redes e volumes

docker compose down para e remove os contêineres e as redes do projeto Compose.

Sintaxe

docker compose down [opções] [nomes dos serviços...]
OpçãoDescrição
-v, --volumesTambém remove os volumes nomeados e anônimos declarados em compose.yaml (os dados serão perdidos)
--rmi local|allTambém remove imagens. local remove apenas as que não têm uma tag personalizada (construídas pelo Compose); all remove todas as usadas pelos serviços
--remove-orphansTambém remove os contêineres de serviços que não existem mais em compose.yaml
-t, --timeout segundosNúmero de segundos de espera ao parar os contêineres (padrão: 10 segundos)
--dry-runApenas mostra o que seria feito

Exemplo

Use o projeto de exemplo de docker compose up:

$ docker compose down
[+] down 4/4
 ✔ Container ref-compose-worker-1 Removed                                                                                                         0.0s
 ✔ Container ref-compose-web-1    Removed                                                                                                         0.2s
 ✔ Container ref-compose-cache-1  Removed                                                                                                         0.2s
 ✔ Network ref-compose_default    Removed                                                                                                         0.0s

$ docker volume ls
DRIVER    VOLUME NAME
local     ref-compose_cache_data

$ docker compose up -d
[+] up 4/4
 ✔ Network ref-compose_default    Created                                                                                                         0.0s
 ✔ Container ref-compose-worker-1 Started                                                                                                         0.3s
 ✔ Container ref-compose-cache-1  Started                                                                                                         0.6s
 ✔ Container ref-compose-web-1    Started                                                                                                         0.8s

$ docker compose down -v -t 1
[+] down 5/5
 ✔ Container ref-compose-web-1    Removed                                                                                                         0.1s
 ✔ Container ref-compose-worker-1 Removed                                                                                                         0.0s
 ✔ Container ref-compose-cache-1  Removed                                                                                                         0.2s
 ✔ Volume ref-compose_cache_data  Removed                                                                                                         0.0s
 ✔ Network ref-compose_default    Removed                                                                                                         0.0s

$ docker volume ls
DRIVER    VOLUME NAME
  • Sem opções, down remove os 3 contêineres e a rede, mas preserva o volume ref-compose_cache_data.
  • down -v -t 1 também remove o volume, e os dados do Redis desaparecem. -t 1 espera no máximo 1 segundo para cada contêiner parar antes de forçar a parada, o que pode acelerar os testes em um ambiente de prática. Em produção, mantenha o valor padrão para dar tempo de o programa encerrar normalmente.

Como escolher entre down, stop e rm

ComandoContêinerRedeVolumeUso
docker compose stopPara e preservaPreservaPreservaPausar serviços e retomá-los depois com start
docker compose rmRemove os que estão paradosPreservaPreservaRaramente usado sozinho
docker compose downPara e removeRemovePreservaEncerramento comum, com os dados preservados
docker compose down -vPara e removeRemoveRemoveComeçar do zero, por exemplo, reinicializar um banco de dados

Os scripts de inicialização do banco de dados e as variáveis de senha só têm efeito quando o volume está vazio. Por isso, use down -v quando quiser reinicializar após alterar as configurações. Veja o motivo em MySQL.

Capítulos relacionados

Exercícios

Exercício: use um único comando para parar e remover os contêineres e as redes do projeto, além das imagens construídas pelo próprio Compose, mas preservar os dados.

Resposta
docker compose down --rmi local

Sem -v, os volumes são preservados.

Perguntas frequentes

docker compose down remove os dados do banco de dados?

Sem opções, **não**. Os volumes são preservados e os dados continuam lá na próxima execução de up. Os volumes declarados em compose.yaml só são removidos com -v.

As imagens continuam lá depois de down?

Sim. Para remover as imagens construídas pelo Compose, use --rmi local; para remover também as imagens baixadas, use --rmi all.

Quero apenas parar temporariamente, sem remover os contêineres. O que faço?

Use docker compose stop e depois docker compose start para retomá-los.

Atualizado 14 de outubro de 2026