Filtrar secretos por etiqueta
En este paso, aprenderá cómo filtrar secretos (secrets) basados en etiquetas (labels). Las etiquetas (labels) son pares clave-valor que puede adjuntar a objetos de Docker, incluyendo secretos (secrets), para organizarlos y categorizarlos. Filtrar por etiquetas (labels) es una forma poderosa de gestionar secretos (secrets) en entornos complejos.
Primero, creemos un nuevo secreto (secret) y agreguemos una etiqueta (label) durante la creación. Crearemos un secreto (secret) llamado labeled_secret
y agregaremos la etiqueta (label) environment=production
.
Ejecute el siguiente comando para crear el secreto (secret) con una etiqueta (label):
echo "production_value" | docker secret create --label environment=production labeled_secret -
Este comando es similar a los comandos docker secret create
anteriores, pero hemos agregado la opción --label environment=production
para adjuntar una etiqueta (label) al secreto (secret).
Ahora, creemos otro secreto (secret) con una etiqueta (label) diferente. Lo llamaremos dev_secret
y le daremos la etiqueta (label) environment=development
.
Ejecute el siguiente comando:
echo "development_value" | docker secret create --label environment=development dev_secret -
Si lista todos los secretos (secrets) ahora utilizando docker secret ls
, verá los tres secretos (secrets):
docker secret ls
La salida mostrará my_secret
, another_secret
, labeled_secret
y dev_secret
.
Para filtrar los secretos (secrets) y mostrar solo aquellos con la etiqueta (label) environment=production
, puede utilizar la opción --filter label=environment=production
.
Ejecute el siguiente comando:
docker secret ls --filter label=environment=production
Debería ver solo el labeled_secret
en la salida:
ID NAME CREATED
<secret_id_3> labeled_secret About a minute ago
De manera similar, para filtrar secretos (secrets) con la etiqueta (label) environment=development
, utilizaría --filter label=environment=development
.
Ejecute el siguiente comando:
docker secret ls --filter label=environment=development
Esto mostrará solo el dev_secret
:
ID NAME CREATED
<secret_id_4> dev_secret About a minute ago
También puede filtrar secretos (secrets) que tengan una clave de etiqueta (label) específica, independientemente de su valor, utilizando --filter label=environment
.
Ejecute el siguiente comando:
docker secret ls --filter label=environment
Esto mostrará tanto labeled_secret
como dev_secret
porque ambos tienen la clave de etiqueta (label) environment
:
ID NAME CREATED
<secret_id_3> labeled_secret About 2 minutes ago
<secret_id_4> dev_secret About 2 minutes ago
Filtrar por etiquetas (labels) es una forma flexible de gestionar y recuperar secretos (secrets) basados en sus propias categorías definidas.