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.