O comando típico é:
docker container ls -f 'status=exited'
No entanto, isso listará apenas um dos possíveis status de não execução. Aqui está uma lista de todos os status possíveis:
- criada
- reiniciando
- corrida
- removendo
- pausado
- saiu
- morto
Você pode filtrar vários status passando vários filtros no status:
docker container ls -f 'status=exited' -f 'status=dead' -f 'status=created'
Se você estiver integrando isso a um script de limpeza automática, poderá encadear um comando para outro com alguma sintaxe bash, gerar apenas os IDs do contêiner -q
e também pode limitar apenas os contêineres que saíram com êxito com um filtro de código de saída:
docker container rm $(docker container ls -q -f 'status=exited' -f 'exited=0')
Para obter mais detalhes sobre os filtros que você pode usar, consulte a documentação do Docker: https://docs.docker.com/engine/reference/commandline/ps/#filtering
grep
por exemplo,docker ps -a | grep Exited
ou algo assim.