Comment utiliser la commande docker secret inspect pour afficher les détails des secrets

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à utiliser la commande docker secret inspect pour afficher des informations détaillées sur les secrets Docker. Vous commencerez par créer un secret Docker pour gérer des données sensibles. Ensuite, vous explorerez comment inspecter ce secret en utilisant à la fois son nom et son identifiant unique. Enfin, vous apprendrez à formater la sortie de la commande inspect à l'aide d'un modèle Go pour extraire des informations spécifiques. Cette expérience pratique vous dotera des compétences nécessaires pour gérer efficacement et résoudre les problèmes liés aux secrets Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/inspect("Inspect Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/ls -.-> lab-555221{{"Comment utiliser la commande docker secret inspect pour afficher les détails des secrets"}} docker/inspect -.-> lab-555221{{"Comment utiliser la commande docker secret inspect pour afficher les détails des secrets"}} docker/create -.-> lab-555221{{"Comment utiliser la commande docker secret inspect pour afficher les détails des secrets"}} end

Créer un secret Docker

Dans cette étape, vous apprendrez à créer un secret Docker. Les secrets Docker sont utilisés pour gérer des données sensibles, telles que des mots de passe, des clés SSH et des certificats TLS. Les secrets sont chiffrés au repos et en transit, et ils ne sont accessibles que par les services qui ont obtenu l'autorisation d'accès.

Pour créer un secret Docker, vous utilisez la commande docker secret create. Cette commande prend deux arguments : le nom du secret et le chemin du fichier contenant les données secrètes.

Créons un simple secret nommé my_secret avec le contenu "thisisasecret". Tout d'abord, créez un fichier nommé secret.txt dans votre répertoire ~/project avec le contenu secret.

echo "thisisasecret" > ~/project/secret.txt

Maintenant, créez le secret Docker en utilisant la commande docker secret create.

docker secret create my_secret ~/project/secret.txt

Vous devriez voir l'ID du secret nouvellement créé affiché dans la console. Cela indique que le secret a été créé avec succès.

Inspecter un secret par son nom

Dans cette étape, vous apprendrez à inspecter un secret Docker en utilisant son nom. La commande docker secret inspect vous permet de visualiser des informations détaillées sur un secret, telles que son identifiant (ID), sa date de création et ses étiquettes (labels).

Pour inspecter un secret par son nom, vous utilisez la commande docker secret inspect suivie du nom du secret. Dans l'étape précédente, nous avons créé un secret nommé my_secret. Inspectons ce secret.

docker secret inspect my_secret

La sortie de cette commande sera un objet JSON contenant des informations détaillées sur le secret my_secret. Vous verrez des champs tels que ID, Name, CreatedAt, UpdatedAt et Spec.

Cette commande est utile pour vérifier les détails d'un secret après sa création ou pour résoudre les problèmes liés aux secrets.

Inspecter un secret par son identifiant (ID)

Dans cette étape, vous apprendrez à inspecter un secret Docker en utilisant son identifiant (ID). Bien que l'inspection par nom soit pratique, il se peut que vous n'ayez parfois que l'ID du secret, notamment lorsque vous travaillez avec des scripts automatisés ou des journaux (logs).

Pour inspecter un secret par son ID, vous utilisez la commande docker secret inspect suivie de l'ID du secret. Vous pouvez obtenir l'ID du secret à partir de la sortie de la commande docker secret create ou en listant les secrets à l'aide de docker secret ls.

Récupérons l'ID du secret my_secret que nous avons créé à la première étape.

docker secret ls

La sortie affichera un tableau avec l'ID et le nom du secret. Copiez l'ID du secret my_secret. Il ressemblera à quelque chose comme abcdef1234567890.

Maintenant, remplacez YOUR_SECRET_ID par l'ID réel que vous avez copié et exécutez la commande d'inspection :

docker secret inspect YOUR_SECRET_ID

Vous verrez la même sortie JSON détaillée que lors de l'inspection par nom. Cela démontre que vous pouvez utiliser soit le nom, soit l'ID pour inspecter un secret.

Formater la sortie à l'aide d'un modèle Go

Dans cette étape, vous apprendrez à formater la sortie de la commande docker secret inspect à l'aide d'un modèle Go. Il s'agit d'une fonctionnalité puissante qui vous permet d'extraire des informations spécifiques de la sortie JSON et de les afficher dans un format personnalisé.

Les modèles Go utilisent une syntaxe simple pour accéder aux champs au sein de la structure JSON. Vous pouvez faire référence aux champs en utilisant la notation par points, par exemple, .ID pour accéder au champ ID ou .Spec.Name pour accéder au nom dans l'objet Spec.

Pour formater la sortie, vous utilisez le paramètre --format suivi de la chaîne de caractères du modèle Go. Essayons d'extraire uniquement l'ID et le nom du secret my_secret à l'aide d'un modèle Go.

docker secret inspect my_secret --format 'ID: {{.ID}}, Name: {{.Spec.Name}}'

La sortie sera :

ID: <secret_id>, Name: my_secret

Remplacez <secret_id> par l'ID réel de votre secret.

Vous pouvez utiliser diverses fonctions et structures de contrôle dans les modèles Go pour créer des formats de sortie plus complexes. Par exemple, vous pourriez itérer sur les étiquettes (labels) ou afficher des informations de manière conditionnelle.

Cette capacité de formatage est particulièrement utile lorsque vous devez traiter la sortie des commandes Docker dans des scripts ou l'intégrer à d'autres outils.

Résumé

Dans ce laboratoire (lab), vous avez appris à gérer les données sensibles dans Docker à l'aide de secrets. Vous avez commencé par créer un secret Docker nommé my_secret à partir d'un fichier, en comprenant que les secrets sont chiffrés et uniquement accessibles aux services autorisés.

Après la création, vous avez exploré comment afficher les détails d'un secret à l'aide de la commande docker secret inspect. Vous avez pratiqué l'inspection du secret par son nom (my_secret), ce qui a fourni une sortie JSON contenant des informations telles que l'ID du secret, la date de création et d'autres spécifications. Cela a démontré l'utilisation de base de la commande inspect pour vérifier les détails d'un secret.