Cómo usar el comando docker secret inspect para ver detalles de secretos

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo utilizar el comando docker secret inspect para ver información detallada sobre los secretos de Docker. Comenzará creando un secreto de Docker para gestionar datos confidenciales. Luego, explorará cómo inspeccionar este secreto utilizando tanto su nombre como su ID único. Finalmente, aprenderá cómo formatear la salida del comando inspect utilizando una plantilla de Go para extraer información específica. Esta experiencia práctica le proporcionará las habilidades necesarias para gestionar y solucionar problemas de los secretos de Docker de manera efectiva.


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{{"Cómo usar el comando docker secret inspect para ver detalles de secretos"}} docker/inspect -.-> lab-555221{{"Cómo usar el comando docker secret inspect para ver detalles de secretos"}} docker/create -.-> lab-555221{{"Cómo usar el comando docker secret inspect para ver detalles de secretos"}} end

Crear un secreto de Docker

En este paso, aprenderá cómo crear un secreto de Docker. Los secretos de Docker se utilizan para gestionar datos confidenciales, como contraseñas, claves SSH y certificados TLS. Los secretos se cifran tanto en reposo como en tránsito, y solo son accesibles para los servicios a los que se les ha otorgado acceso.

Para crear un secreto de Docker, se utiliza el comando docker secret create. Este comando toma dos argumentos: el nombre del secreto y la ruta al archivo que contiene los datos del secreto.

Vamos a crear un secreto simple llamado my_secret con el contenido "thisisasecret". Primero, cree un archivo llamado secret.txt en su directorio ~/project con el contenido secreto.

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

Ahora, cree el secreto de Docker utilizando el comando docker secret create.

docker secret create my_secret ~/project/secret.txt

Debería ver el ID del secreto recién creado impreso en la consola. Esto indica que el secreto se ha creado correctamente.

Inspeccionar un secreto por nombre

En este paso, aprenderá cómo inspeccionar un secreto de Docker utilizando su nombre. El comando docker secret inspect le permite ver información detallada sobre un secreto, como su ID, fecha de creación y etiquetas (labels).

Para inspeccionar un secreto por nombre, utilice el comando docker secret inspect seguido del nombre del secreto. En el paso anterior, creamos un secreto llamado my_secret. Vamos a inspeccionar este secreto.

docker secret inspect my_secret

La salida de este comando será un objeto JSON que contiene información detallada sobre el secreto my_secret. Verá campos como ID, Name, CreatedAt, UpdatedAt y Spec.

Este comando es útil para verificar los detalles de un secreto después de que se haya creado o para solucionar problemas relacionados con los secretos.

Inspeccionar un secreto por ID

En este paso, aprenderá cómo inspeccionar un secreto de Docker utilizando su ID. Si bien inspeccionar por nombre es conveniente, a veces solo puede tener el ID del secreto, especialmente cuando trabaja con scripts automatizados o registros (logs).

Para inspeccionar un secreto por ID, utilice el comando docker secret inspect seguido del ID del secreto. Puede obtener el ID del secreto a partir de la salida del comando docker secret create o listando los secretos con docker secret ls.

Obtengamos el ID del secreto my_secret que creamos en el primer paso.

docker secret ls

La salida mostrará una tabla con el ID y el nombre del secreto. Copie el ID del secreto my_secret. Tendrá un aspecto similar a abcdef1234567890.

Ahora, reemplace YOUR_SECRET_ID con el ID real que copió y ejecute el comando de inspección:

docker secret inspect YOUR_SECRET_ID

Verá la misma salida JSON detallada que cuando inspeccionó por nombre. Esto demuestra que puede usar tanto el nombre como el ID para inspeccionar un secreto.

Formatear la salida utilizando una plantilla de Go

En este paso, aprenderá cómo formatear la salida del comando docker secret inspect utilizando una plantilla de Go. Esta es una función poderosa que le permite extraer información específica de la salida JSON y mostrarla en un formato personalizado.

Las plantillas de Go utilizan una sintaxis simple para acceder a los campos dentro de la estructura JSON. Puede hacer referencia a los campos utilizando la notación de punto, por ejemplo, .ID para acceder al campo de ID o .Spec.Name para acceder al nombre dentro del objeto Spec.

Para formatear la salida, utilice la bandera --format seguida de la cadena de la plantilla de Go. Intentemos extraer solo el ID y el nombre del secreto my_secret utilizando una plantilla de Go.

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

La salida será:

ID: <secret_id>, Name: my_secret

Reemplace <secret_id> con el ID real de su secreto.

Puede utilizar diversas funciones y estructuras de control dentro de las plantillas de Go para crear formatos de salida más complejos. Por ejemplo, podría iterar sobre las etiquetas (labels) o mostrar información de forma condicional.

Esta capacidad de formato es especialmente útil cuando necesita procesar la salida de los comandos de Docker en scripts o integrarla con otras herramientas.

Resumen

En este laboratorio, aprendiste cómo gestionar datos sensibles en Docker utilizando secretos. Comenzaste creando un secreto de Docker llamado my_secret a partir de un archivo, comprendiendo que los secretos están encriptados y solo son accesibles para servicios autorizados.

Después de la creación, exploraste cómo ver los detalles de un secreto utilizando el comando docker secret inspect. Practicaste la inspección del secreto por su nombre (my_secret), lo que proporcionó una salida JSON que contenía información como el ID del secreto, la fecha de creación y otras especificaciones. Esto demostró el uso básico del comando inspect para verificar los detalles del secreto.