Répertorier uniquement les conteneurs Docker arrêtés

193

Docker vous permet de répertorier les conteneurs en cours d'exécution ou tous les conteneurs, y compris ceux arrêtés.

Cela peut être fait par:

$ docker ps # To list running containers

Ou par

$ docker ps -a # To list running and stopped containers

Avons-nous un moyen de répertorier uniquement les conteneurs qui ont été arrêtés?

Yogesh_D
la source

Réponses:

313

Seuls les conteneurs arrêtés peuvent être répertoriés en utilisant:

docker ps --filter "status=exited"

ou

docker ps -f "status=exited"
Yogesh_D
la source
4
En outre, vous pouvez les filtrer avec greppar exemple docker ps -a | grep Exitedou quelque chose comme ça.
starikovs
23
Cool, maintenant je peux supprimer les conteneurs arrêtés avecdocker rm $(docker ps --filter "status=exited" -q)
czerasz
2
mieux encore, créez un alias dans votre profil bash et utilisez un mot-clé / une commande plus court pour nettoyer les conteneurs arrêtés
Yogesh_D
21
"docker container prune" peut être utilisé depuis 1.25 je crois pour enlever les conteneurs arrêtés
paul
38

La commande typique est:

docker container ls -f 'status=exited'

Cependant, cela ne listera qu'un des états non en cours d'exécution possibles. Voici une liste de tous les statuts possibles:

  • établi
  • redémarrage
  • fonctionnement
  • enlever
  • mis en pause
  • sorti
  • morte

Vous pouvez filtrer sur plusieurs statuts en passant plusieurs filtres sur le statut:

docker container ls -f 'status=exited' -f 'status=dead' -f 'status=created'

Si vous intégrez cela à un script de nettoyage automatique, vous pouvez chaîner une commande à une autre avec une syntaxe bash, afficher uniquement les identifiants du conteneur avec -q, et vous pouvez également vous limiter aux conteneurs qui sont sortis avec succès avec un filtre de code de sortie:

docker container rm $(docker container ls -q -f 'status=exited' -f 'exited=0')

Pour plus de détails sur les filtres que vous pouvez utiliser, consultez la documentation de Docker: https://docs.docker.com/engine/reference/commandline/ps/#filtering

BMitch
la source
8
docker container list -f "status=exited"

ou

docker container ls -f "status=exited"

ou

 docker ps -f "status=exited"
Artur Karbone
la source