docker pass
| Descripción | Gestiona los secretos de tu llavero del sistema operativo local. |
|---|---|
| Uso | docker 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/passwordSubcomandos
| Comando | Descripción |
|---|---|
docker pass get | Obtiene un secreto de un llavero (keystore). |
docker pass ls | Enumera todos los secretos del llavero local. |
docker pass rm | Elimina secretos del llavero local. |
docker pass set | Establece un secreto |