Compartir comentarios
Las respuestas se generan en base a la documentación.

docker pass

DescripciónGestiona los secretos de tu llavero del sistema operativo local.
Usodocker pass set|get|ls|rm

</span>
<strong>Experimental</strong>

Este comando es experimental.

Las funciones experimentales están destinadas a pruebas y comentarios, ya que su funcionalidad o diseño pueden cambiar entre versiones sin previo aviso o eliminarse por completo en una versión futura.

Descripción

Docker Pass es un asistente para almacenar secretos de forma segura en el llavero (keychain) local de tu sistema operativo e inyectarlos en los contenedores cuando sea necesario. Utiliza almacenamiento de credenciales específico de la plataforma:

  • Windows: API de Windows Credential Manager
  • macOS: API de servicios de llavero (Keychain)
  • Linux: API org.freedesktop.secrets (requiere DBus + gnome-keyring o kdewallet)

Los secretos se pueden inyectar en contenedores en ejecución en tiempo de ejecución utilizando el esquema URI se://.

Ejemplos

Usar secretos del llavero en contenedores

Crea un secreto:

$ docker pass set GH_TOKEN=123456789

Crea un secreto desde STDIN:

echo "my_val" | docker pass set GH_TOKEN

Ejecuta un contenedor que use el secreto:

$ docker run -e GH_TOKEN= -dt --name demo busybox

Inspecciona el secreto desde dentro del contenedor:

$ docker exec demo sh -c 'echo $GH_TOKEN'
123456789

Asigna explícitamente un secreto a una variable de entorno diferente:

$ docker run -e GITHUB_TOKEN=se://GH_TOKEN -dt --name demo busybox

Usar secretos del llavero en Compose

Almacena los secretos:

$ docker pass set myapp/anthropic/api-key=sk-ant-...
$ docker pass set myapp/postgres/password=s3cr3t
services:
  api:
    image: service1
    environment:
      - ANTHROPIC_API_KEY=se://myapp/anthropic/api-key
      - POSTGRES_PASSWORD=se://myapp/postgres/password

  worker:
    image: service2
    command: worker
    environment:
      - ANTHROPIC_API_KEY=se://myapp/anthropic/api-key

  db:
    image: postgres:17
    environment:
      - POSTGRES_PASSWORD=se://myapp/postgres/password

Subcomandos

ComandoDescripción
docker pass getObtiene un secreto de un llavero (keystore).
docker pass lsEnumera todos los secretos del llavero local.
docker pass rmElimina secretos del llavero local.
docker pass setEstablece un secreto