web-dev-qa-db-fra.com

Liste uniquement les conteneurs Docker arrêtés

Docker vous permet de répertorier les conteneurs en cours d'exécution ou tous les conteneurs, y compris les conteneurs 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 ne lister que les conteneurs qui ont été arrêtés?

144
Yogesh_D

Seuls les conteneurs arrêtés peuvent être répertoriés à l'aide de:

docker ps --filter "status=exited"

ou

docker ps -f "status=exited"
242
Yogesh_D

La commande typique est:

docker container ls -f 'status=exited'

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

  • établi
  • redémarrage
  • fonctionnement
  • enlever
  • en pause
  • sorti
  • mort

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 ceci à un script de nettoyage automatique, vous pouvez chaîner une commande avec une syntaxe bash, générer uniquement l'identifiant du conteneur avec -q, et vous pouvez également limiter les conteneurs qui ont été sortis avec succès avec un exit. filtre de code:

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, voir la documentation de Docker: https://docs.docker.com/engine/reference/commandline/ps/#filtering

23
BMitch
docker container list -f "status=exited"

ou

docker container ls -f "status=exited"

ou

 docker ps -f "status=exited"
1
Artur Karbone