Conteúdo
Tutorial de docker rm: como excluir contêineres (-f, -v, container prune)
docker rm exclui contêineres parados. Você pode usar -f para remover à força contêineres em execução. Veja o fluxo completo de criação, parada e remoção em Ciclo de vida do contêiner.
Sintaxe
docker rm [OPÇÕES] CONTÊINER [CONTÊINER...]
Opções
| Opção | Descrição |
|---|---|
-f, --force | Remove à força um contêiner em execução (usando SIGKILL) |
-l, --link | Remove o link especificado |
-v, --volumes | Remove também o Volume anônimo associado ao contêiner |
--filter condição | Filtra contêineres, por exemplo, until=<timestamp> |
docker container prune exclui todos os contêineres parados. Use -f para pular a confirmação.
Exemplos
Excluir contêineres parados e em execução
$ docker rm app
Error response from daemon: cannot remove container "app": container is running: stop the container before removing or force remove
$ docker rm -f app
app
$ docker rm job
job
- Não é possível excluir diretamente o
appem execução; a mensagem de erro sugere parar o contêiner ou removê-lo à força. docker rm -f appremove o contêiner em execução com sucesso e exibe o nomeapp.- Você pode excluir diretamente o
jobparado, sem adicionar-f.
Excluir também o Volume anônimo
$ docker volume ls -q | wc -l
2
$ docker rm -f -v withvol
withvol
$ docker volume ls -q | wc -l
1
- Antes da remoção, há 2 Volumes. Depois de excluir
withvolcom-v, resta 1. - Use
-vpara remover o Volume anônimo associado ao contêiner.
Limpar todos os contêineres parados
$ docker ps -a --format '{{.Names}} {{.Status}}'
old2 Exited (0) Less than a second ago
old1 Exited (0) 1 second ago
registry Up About a minute
$ docker container prune -f
Deleted Containers:
1634aa3747102ed4016d3695d9fbe33f9ff7310fde9c5726ef86a340f8d22acb
a3ec6e520acc56ef9f9d78452b104675b7afd070a8e9bd1ab0a010b34e2fe8a5
Total reclaimed space: 8.192kB
- Antes da remoção, há dois contêineres parados,
old2eold1, e um contêiner em execução,registry. docker container prune -fnão pede confirmação e exibe os IDs dos contêineres excluídos e o espaço recuperado.- Esse comando limpa os contêineres parados. O
registryem execução não aparece na lista de remoção.
Substituição de comando sem resultados
$ docker rm $(docker ps -aq --filter status=exited)
docker: 'docker rm' requires at least 1 argument
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
See 'docker rm --help' for more information
- Quando
docker ps -aq --filter status=exitednão produz saída, a substituição de comando não fornece nenhum argumento de contêiner. - Por isso,
docker rminforma que precisa de pelo menos um argumento. Para limpar vários contêineres, usedocker container prune -f.
Remover automaticamente o contêiner ao terminar
$ docker run --rm alpine:3.23 echo 'removed when done'
removed when done
$ docker ps -a --format '{{.Names}} {{.Status}}'
registry Up About a minute
--rmfaz com que o contêiner seja removido automaticamente quando o comando terminar.- A lista de contêineres exibida em seguida mostra apenas o
registryem execução; o contêiner que acabou de terminar não aparece.
Seções relacionadas
- Ciclo de vida do contêiner
- docker ps: listar e filtrar contêineres
- docker stop: parar contêineres em execução
- Docker Volume: gerenciar Volumes
Exercícios
Exercício: exclua à força o contêiner app em execução e remova também o Volume anônimo associado a ele.
Resposta
docker rm -f -v app
Perguntas frequentes
Por que docker rm não consegue excluir um contêiner em execução?
Um contêiner em execução precisa ser parado antes ou removido à força com docker rm -f; -f usa SIGKILL.
Como excluir também o Volume anônimo ao remover um contêiner?
Adicione -v, por exemplo, docker rm -f -v withvol. No exemplo, a quantidade de Volumes cai de 2 para 1.
O que acontece quando a substituição de comando não encontra contêineres parados?
docker rm $(docker ps -aq --filter status=exited) retorna um erro informando que é necessário pelo menos um argumento, pois nenhum nome ou ID de contêiner foi passado.
Como excluir um contêiner automaticamente quando ele terminar?
Execute docker run --rm; depois que o contêiner do exemplo terminar, docker ps -a não o listará mais.
Atualizado 26 de outubro de 2026