Filtrer les secrets par étiquette (label)
Dans cette étape, vous apprendrez à filtrer les secrets en fonction des étiquettes (labels). Les étiquettes sont des paires clé-valeur que vous pouvez attacher aux objets Docker, y compris les secrets, pour les organiser et les catégoriser. Le filtrage par étiquettes est un moyen puissant de gérer les secrets dans des environnements complexes.
Tout d'abord, créons un nouveau secret et ajoutons-lui une étiquette lors de sa création. Nous allons créer un secret nommé labeled_secret
et ajouter l'étiquette environment=production
.
Exécutez la commande suivante pour créer le secret avec une étiquette :
echo "production_value" | docker secret create --label environment=production labeled_secret -
Cette commande est similaire aux commandes docker secret create
précédentes, mais nous avons ajouté l'option --label environment=production
pour attacher une étiquette au secret.
Maintenant, créons un autre secret avec une étiquette différente. Nous l'appellerons dev_secret
et lui donnerons l'étiquette environment=development
.
Exécutez la commande suivante :
echo "development_value" | docker secret create --label environment=development dev_secret -
Si vous liste tous les secrets maintenant en utilisant docker secret ls
, vous verrez les quatre secrets :
docker secret ls
La sortie affichera my_secret
, another_secret
, labeled_secret
et dev_secret
.
Pour filtrer les secrets et n'afficher que ceux ayant l'étiquette environment=production
, vous pouvez utiliser l'option --filter label=environment=production
.
Exécutez la commande suivante :
docker secret ls --filter label=environment=production
Vous devriez voir seulement le labeled_secret
dans la sortie :
ID NAME CREATED
<secret_id_3> labeled_secret About a minute ago
De même, pour filtrer les secrets ayant l'étiquette environment=development
, vous utiliseriez --filter label=environment=development
.
Exécutez la commande suivante :
docker secret ls --filter label=environment=development
Cela affichera seulement le dev_secret
:
ID NAME CREATED
<secret_id_4> dev_secret About a minute ago
Vous pouvez également filtrer les secrets qui ont une clé d'étiquette spécifique, quelle que soit sa valeur, en utilisant --filter label=environment
.
Exécutez la commande suivante :
docker secret ls --filter label=environment
Cela affichera à la fois labeled_secret
et dev_secret
car ils ont tous deux la clé d'étiquette environment
:
ID NAME CREATED
<secret_id_3> labeled_secret About 2 minutes ago
<secret_id_4> dev_secret About 2 minutes ago
Le filtrage par étiquettes est un moyen flexible de gérer et de récupérer les secrets en fonction de vos propres catégories définies.