Filtrar segredos por rótulo
Nesta etapa, você aprenderá como filtrar segredos com base em rótulos (labels). Rótulos são pares chave-valor que você pode anexar a objetos Docker, incluindo segredos, para organizá-los e categorizá-los. A filtragem por rótulos é uma maneira poderosa de gerenciar segredos em ambientes complexos.
Primeiro, vamos criar um novo segredo e adicionar um rótulo a ele durante a criação. Criaremos um segredo chamado labeled_secret e adicionaremos o rótulo environment=production.
Execute o seguinte comando para criar o segredo com um rótulo:
echo "production_value" | docker secret create --label environment=production labeled_secret -
Este comando é semelhante aos comandos docker secret create anteriores, mas adicionamos a flag --label environment=production para anexar um rótulo ao segredo.
Agora, vamos criar outro segredo com um rótulo diferente. Vamos nomeá-lo dev_secret e dar a ele o rótulo environment=development.
Execute o seguinte comando:
echo "development_value" | docker secret create --label environment=development dev_secret -
Se você listar todos os segredos agora usando docker secret ls, verá todos os três segredos:
docker secret ls
A saída mostrará my_secret, another_secret, labeled_secret e dev_secret.
Para filtrar os segredos e mostrar apenas aqueles com o rótulo environment=production, você pode usar a opção --filter label=environment=production.
Execute o seguinte comando:
docker secret ls --filter label=environment=production
Você deve ver apenas o labeled_secret na saída:
ID NAME CREATED
<secret_id_3> labeled_secret About a minute ago
Da mesma forma, para filtrar por segredos com o rótulo environment=development, você usaria --filter label=environment=development.
Execute o seguinte comando:
docker secret ls --filter label=environment=development
Isso mostrará apenas o dev_secret:
ID NAME CREATED
<secret_id_4> dev_secret About a minute ago
Você também pode filtrar por segredos que possuem uma chave de rótulo específica, independentemente de seu valor, usando --filter label=environment.
Execute o seguinte comando:
docker secret ls --filter label=environment
Isso mostrará tanto labeled_secret quanto dev_secret porque ambos possuem a chave de rótulo environment:
ID NAME CREATED
<secret_id_3> labeled_secret About 2 minutes ago
<secret_id_4> dev_secret About 2 minutes ago
A filtragem por rótulos é uma maneira flexível de gerenciar e recuperar segredos com base em suas próprias categorias definidas.