docker ps -a --filter est une commande très utile pour filtrer la liste des conteneurs Docker selon certaines conditions. C'est une fonctionnalité puissante qui permet de trouver rapidement le conteneur souhaité dans un environnement avec de nombreux conteneurs.

Ci-dessous, j'expliquerai les principales options de filtrage avec des exemples pratiques.


Format de base



docker ps -a --filter <nom_du_filtre>=<valeur_du_filtre>

Il est possible d'utiliser plusieurs filtres simultanément en utilisant plusieurs options --filter.


🔍 Principales options de filtrage et exemples pratiques

1. Filtrer par l'état (status)

Utilisé pour filtrer par l'état d'un conteneur.

Option d'état Description
created Conteneur créé mais pas encore démarré
restarting Conteneur en cours de redémarrage
running Conteneur en cours d'exécution
paused Conteneur en pause
exited Conteneur arrêté

Exemple : afficher uniquement les conteneurs en cours d'exécution

docker ps -a --filter status=running

Exemple : afficher uniquement les conteneurs arrêtés

docker ps -a --filter status=exited

2. Filtrer par nom (name)

Utilisé pour trouver les conteneurs contenant un nom spécifique.

Exemple : afficher uniquement les conteneurs dont le nom contient "web"

docker ps -a --filter name=web
  • Exemple de résultat :
CONTAINER ID   IMAGE           COMMAND     CREATED         STATUS         NAMES 
f1c2d3e4f5     nginx:latest    "/start"    2 days ago      Up 2 days      my-web-container

3. Filtrer par image utilisée (image)

Utilisé pour trouver facilement les conteneurs utilisant une image spécifique.

Exemple : afficher les conteneurs utilisant l'image nginx

docker ps -a --filter ancestor=nginx
  • Exemple de résultat :
CONTAINER ID   IMAGE          COMMAND          STATUS        NAMES
a1b2c3d4e5     nginx:latest   "/start"         Up 3 hours    nginx-server-1
f6g7h8i9j0     nginx:alpine   "/start"         Exited        nginx-temp

4. Filtrer par volume (volume)

Utile pour trouver les conteneurs montés avec un volume spécifique.

Exemple : afficher les conteneurs utilisant le volume my_volume

docker ps -a --filter volume=my_volume
  • Exemple de résultat :
CONTAINER ID   IMAGE          COMMAND           STATUS         NAMES
1a2b3c4d5e     postgres       "docker-entry"    Up 2 days      postgres_db

5. Filtrer par étiquette (label)

Utile pour gérer les conteneurs avec des étiquettes via Docker Compose ou Kubernetes.

Exemple : afficher les conteneurs avec l'étiquette "env=production"

docker ps -a --filter label=env=production

  • Exemple de résultat :
CONTAINER ID   IMAGE           COMMAND         STATUS          NAMES 
abcdef12345    myapp:latest    "/run-app"      Up 3 days       myapp-production

6. Filtrer par réseau (network)

Utile pour vérifier la liste des conteneurs connectés à un réseau spécifique.

Exemple : afficher les conteneurs connectés à un réseau spécifique

docker ps -a --filter network=my_network

  • Exemple de résultat :
CONTAINER ID   IMAGE          COMMAND          STATUS         NAMES 
123abc456de    redis          "/start"         Up 1 day       redis-cache 
456def789gh    postgres       "/start"         Up 1 day       postgres-db

7. Filtrer par ID

Utilisé pour rechercher rapidement un ID de conteneur spécifique. (Généralement, il suffit de saisir le début de l'ID.)

Exemple : afficher les conteneurs dont l'ID commence par 1234

docker ps -a --filter id=1234

💡 Utiliser plusieurs combinaisons de filtres



Les filtres peuvent être combinés.

Exemple : trouver les conteneurs qui contiennent "web" dans le nom, qui sont "running" et qui utilisent l'image "nginx"

docker ps -a --filter name=web --filter status=running --filter ancestor=nginx

🛠️ Exemples d'utilisation pratiques

  • Arrêter tous les conteneurs d'un projet spécifique :
docker stop $(docker ps -a -q --filter name=my_project)****
  • Supprimer les conteneurs arrêtés anciens :
docker rm $(docker ps -a -q --filter status=exited)
  • Nettoyer les conteneurs temporaires inutiles :
docker rm $(docker ps -a -q --filter ancestor=temp_image)

Ainsi, la commande docker ps -a --filter est très pratique et puissante pour filtrer et gérer rapidement selon des critères spécifiques lorsque le nombre de conteneurs augmente. Utilisez-la activement !