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?
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"
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:
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
docker container list -f "status=exited"
ou
docker container ls -f "status=exited"
ou
docker ps -f "status=exited"