Cómo usar el comando docker secret rm para eliminar 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 gestionar de forma segura datos sensibles en Docker utilizando secretos (secrets). Comenzará creando un secreto de Docker para almacenar información sensible.

Después de la creación, verificará que el secreto se ha agregado correctamente a su entorno de Docker mediante la lista de los secretos existentes. Finalmente, practicará la eliminación del secreto y confirmará su eliminación volviendo a listar los secretos. Este ejercicio práctico lo guiará a través de los comandos esenciales para crear, listar y eliminar secretos de Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") subgraph Lab Skills docker/ls -.-> lab-555223{{"Cómo usar el comando docker secret rm para eliminar secretos"}} docker/rm -.-> lab-555223{{"Cómo usar el comando docker secret rm para eliminar secretos"}} docker/create -.-> lab-555223{{"Cómo usar el comando docker secret rm para eliminar secretos"}} end

Crear un secreto

En este paso, aprenderá cómo crear un secreto en Docker. Los secretos de Docker se utilizan para gestionar datos sensibles, como contraseñas, claves SSH y otras credenciales, que un contenedor necesita en tiempo de ejecución. Utilizar secretos es una forma más segura de manejar información sensible en comparación con almacenarla directamente en la imagen del contenedor o pasarla como variables de entorno.

Antes de crear un secreto, asegúrese de tener configurado el entorno de Docker necesario. La máquina virtual (VM) de LabEx viene con Docker preinstalado. Puede verificar la versión de Docker ejecutando:

docker version

Debería ver una salida similar a esta, lo que indica que Docker está instalado y en funcionamiento:

Client: Docker Engine - Community
 Version:           20.10.21
 API version:       1.41
 Go version:        go1.16.15
 Git commit:        baedd2a
 Built:             Tue Oct 25 17:58:10 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.21
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       363bd3a
  Built:            Tue Oct 25 17:56:32 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.8
  GitCommit:        9cd335e8e55e68bf582ae4525b3a13ffa8a49392
  Built:            Tue Oct 25 17:54:39 2022
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
  Built:            Tue Oct 25 17:54:25 2022
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
  Built:            Tue Oct 25 17:54:16 2022

Para crear un secreto, puede utilizar el comando docker secret create. Este comando lee datos sensibles desde la entrada estándar o un archivo y crea un secreto en Docker.

Vamos a crear un secreto simple llamado my_password que contenga el valor s3cr3t. Enviaremos el valor del secreto al comando docker secret create mediante una tubería (pipe).

echo "s3cr3t" | docker secret create my_password -

Después de ejecutar el comando, Docker creará el secreto y mostrará su ID. La salida se verá similar a esto:

<secret_id>

El <secret_id> es un identificador único para el secreto que acaba de crear. Tenga esto en cuenta, ya que es posible que lo necesite para operaciones futuras.

Listar secretos para verificar la creación

En este paso, aprenderá cómo listar los secretos existentes en Docker para verificar que el secreto que creó en el paso anterior se agregó correctamente.

Para listar todos los secretos gestionados por Docker, puede utilizar el comando docker secret ls. Este comando proporciona una lista de secretos, incluyendo su ID, nombre y marca de tiempo de creación.

Ejecutemos el comando para ver los secretos:

docker secret ls

La salida debe mostrar el secreto my_password que creó en el paso anterior, junto con su ID y hora de creación. La salida se verá similar a esto:

ID                          NAME                CREATED             UPDATED
<secret_id>                 my_password         About a minute ago  About a minute ago

Puede ver el secreto my_password en la lista, lo que confirma que se creó correctamente. El <secret_id> coincidirá con el ID que se mostró cuando creó el secreto.

Este comando es útil para gestionar sus secretos y asegurarse de que están configurados correctamente en su entorno de Docker.

Eliminar un secreto

En este paso, aprenderá cómo eliminar un secreto en Docker. Eliminar secretos es importante para la seguridad y para limpiar su entorno de Docker cuando los secretos ya no son necesarios.

Para eliminar un secreto, puede utilizar el comando docker secret rm seguido del nombre o ID del secreto. En los pasos anteriores, creamos un secreto llamado my_password.

Vamos a eliminar el secreto my_password:

docker secret rm my_password

Después de ejecutar el comando, Docker eliminará el secreto y mostrará el nombre o ID del secreto que se eliminó. La salida se verá similar a esto:

my_password

Esto confirma que el secreto my_password se ha eliminado correctamente de su entorno de Docker.

Es una buena práctica eliminar los secretos cuando ya no se utilizan para minimizar el riesgo de acceso no autorizado a información sensible.

Listar secretos para verificar la eliminación

En este paso, listará los secretos de Docker nuevamente para verificar que el secreto my_password que eliminó en el paso anterior ya no está presente.

Para listar todos los secretos, utilice el comando docker secret ls:

docker secret ls

Esta vez, la salida no debe incluir el secreto my_password. Si no hubiera otros secretos en su entorno, la salida podría verse así:

ID                          NAME                CREATED             UPDATED

Si hay otros secretos, los verá en la lista, pero my_password no debe estar presente. Esto confirma que la operación de eliminación fue exitosa.

Listar los secretos después de la eliminación es una buena manera de asegurarse de que los datos sensibles ya no se almacenan en su entorno de Docker.

Resumen

En este laboratorio, aprendiste cómo gestionar de forma segura datos sensibles en Docker utilizando secretos. Comenzaste verificando tu entorno de Docker y luego creaste un secreto llamado my_password utilizando el comando docker secret create, canalizando el valor del secreto desde la entrada estándar.

Después de crear el secreto, utilizaste el comando docker secret ls para listar los secretos existentes y confirmar la creación exitosa de my_password. Finalmente, practicaste la eliminación del secreto utilizando el comando docker secret rm y verificaste su eliminación listando los secretos nuevamente, demostrando el ciclo de vida completo de un secreto de Docker.