Supprimer des volumes en utilisant un filtre par étiquette (label)
Dans cette étape finale, nous apprendrons à supprimer des volumes en fonction de leurs étiquettes (labels). C'est un moyen puissant de supprimer sélectivement les volumes qui correspondent à des critères spécifiques, sans affecter les autres volumes.
Tout d'abord, créons quelques nouveaux volumes avec différentes étiquettes afin d'avoir des éléments à filtrer.
docker volume create --label env=dev dev_volume
docker volume create --label env=prod prod_volume
docker volume create --label type=data data_volume
Nous avons créé trois nouveaux volumes : dev_volume
avec l'étiquette env=dev
, prod_volume
avec l'étiquette env=prod
et data_volume
avec l'étiquette type=data
.
Listons les volumes pour voir les nouveaux créés.
docker volume ls
Vous devriez voir dev_volume
, prod_volume
et data_volume
dans la liste.
Maintenant, supprimons uniquement les volumes qui ont l'étiquette env=dev
. Nous pouvons utiliser le flag --filter
avec la clé label
.
docker volume prune --filter label=env=dev
Docker demandera confirmation. Tapez y
puis appuyez sur Entrée.
La sortie montrera que dev_volume
a été supprimé.
Listons les volumes à nouveau pour confirmer que seul dev_volume
a été supprimé.
docker volume ls
Vous devriez maintenant voir prod_volume
et data_volume
restants.
Nous pouvons également filtrer par les étiquettes qui ne sont pas présentes. Par exemple, supprimons les volumes qui n'ont pas l'étiquette type=data
.
docker volume prune --filter label!=type=data
Docker demandera confirmation. Tapez y
puis appuyez sur Entrée.
La sortie montrera que prod_volume
a été supprimé.
Listons les volumes une dernière fois pour voir ce qui reste.
docker volume ls
Vous devriez maintenant ne voir que data_volume
restant.
Cela démontre comment vous pouvez utiliser des filtres d'étiquettes pour supprimer sélectivement des volumes en fonction de vos besoins.