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?

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"

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


8
docker container list -f "status=exited"

ou

docker container ls -f "status=exited"

ou

 docker ps -f "status=exited"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.