Filtrer les commandes
Vous pouvez utiliser le drapeau --filter
pour délimiter vos commandes. Lors du filtrage, les
commandes n'incluent que les entrées qui correspondent au modèle que vous spécifiez.
Utilisation des filtres
Le drapeau --filter
attend une paire clé-valeur séparée par un opérateur.
$ docker COMMANDE --filter "CLÉ=VALEUR"
La clé représente le champ sur lequel vous voulez filtrer.
La valeur est le modèle que le champ spécifié doit correspondre.
L'opérateur peut être soit égal (=
) soit non égal (!=
).
Par exemple, la commande docker images --filter reference=alpine
filtre la
sortie de la commande docker images
pour n'afficher que les images alpine
.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 24.04 33a5cc25d22c 36 minutes ago 101MB
ubuntu 22.04 152dc042452c 36 minutes ago 88.1MB
alpine 3.21 a8cbb8c69ee7 40 minutes ago 8.67MB
alpine latest 7144f7bab3d4 40 minutes ago 11.7MB
busybox uclibc 3e516f71d880 48 minutes ago 2.4MB
busybox glibc 7338d0c72c65 48 minutes ago 6.09MB
$ docker images --filter reference=alpine
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine 3.21 a8cbb8c69ee7 40 minutes ago 8.67MB
alpine latest 7144f7bab3d4 40 minutes ago 11.7MB
Les champs disponibles (reference
dans ce cas) dépendent de la commande que vous exécutez.
Certains filtres attendent une correspondance exacte. D'autres gèrent les correspondances partielles. Certains filtres
vous permettent d'utiliser des expressions régulières.
Référez-vous à la description de référence CLI pour chaque commande pour apprendre les capacités de filtrage supportées pour chaque commande.
Combiner les filtres
Vous pouvez combiner plusieurs filtres en passant plusieurs drapeaux --filter
. L'
exemple suivant montre comment afficher toutes les images qui correspondent à alpine:latest
ou
busybox
- un OR
logique.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 24.04 33a5cc25d22c 2 hours ago 101MB
ubuntu 22.04 152dc042452c 2 hours ago 88.1MB
alpine 3.21 a8cbb8c69ee7 2 hours ago 8.67MB
alpine latest 7144f7bab3d4 2 hours ago 11.7MB
busybox uclibc 3e516f71d880 2 hours ago 2.4MB
busybox glibc 7338d0c72c65 2 hours ago 6.09MB
$ docker images --filter reference=alpine:latest --filter=reference=busybox
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest 7144f7bab3d4 2 hours ago 11.7MB
busybox uclibc 3e516f71d880 2 hours ago 2.4MB
busybox glibc 7338d0c72c65 2 hours ago 6.09MB
Filtres négatifs multiples
Certaines commandes supportent les filtres négatifs sur les
étiquettes.
Les filtres négatifs ne considèrent que les résultats qui ne correspondent pas aux modèles spécifiés.
La commande suivante nettoie tous les conteneurs qui ne sont pas étiquetés foo
.
$ docker container prune --filter "label!=foo"
Il y a un piège dans la combinaison de multiples filtres d'étiquettes négatifs. Plusieurs filtres négatifs
créent une contrainte négative unique - un AND
logique. La commande suivante
nettoie tous les conteneurs sauf ceux étiquetés à la fois foo
et bar
.
Les conteneurs étiquetés soit foo
soit bar
, mais pas les deux, seront nettoyés.
$ docker container prune --filter "label!=foo" --filter "label!=bar"
Référence
Pour plus d'informations sur le filtrage des commandes, référez-vous à la description
de référence CLI pour les commandes qui supportent le drapeau --filter
:
-
docker config ls
-
docker container prune
-
docker image prune
-
docker image ls
-
docker network ls
-
docker network prune
-
docker node ls
-
docker node ps
-
docker plugin ls
-
docker container ls
-
docker search
-
docker secret ls
-
docker service ls
-
docker service ps
-
docker stack ps
-
docker system prune
-
docker volume ls
-
docker volume prune