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

Utilizar la CLI de DHI

La interfaz de línea de comandos (CLI) docker dhi es una herramienta para gestionar las Docker Hardened Images:

  • Examinar el catálogo de imágenes DHI disponibles y sus metadatos
  • Replicar imágenes DHI en la organización de tu Docker Hub
  • Crear y gestionar personalizaciones de imágenes DHI
  • Generar autenticación para repositorios de paquetes empresariales
  • Supervisar las construcciones de personalizaciones

Instalación

La CLI de docker dhi está disponible en la versión 4.65 y posteriores de Docker Desktop. También puedes instalar el binario dhictl independiente.

Docker Desktop

El comando docker dhi se incluye en Docker Desktop 4.65 y posteriores. No se requiere ninguna instalación adicional.

Binario independiente

  1. Descarga el binario dhictl para tu plataforma desde la página de versiones (releases).
  2. Muévelo a un directorio en tu variable de entorno PATH:
    • mv dhictl /usr/local/bin/ en Linux y macOS
    • Mueve dhictl.exe a un directorio en tu variable de entorno PATH en Windows

Uso

Cada comando tiene ayuda integrada accesible con la opción --help:

docker dhi --help
docker dhi catalog list --help

Examinar el catálogo DHI

Lista todas las imágenes DHI disponibles:

docker dhi catalog list

Filtra por tipo, nombre o cumplimiento:

docker dhi catalog list --type image
docker dhi catalog list --filter golang
docker dhi catalog list --fips
docker dhi catalog list --stig

Obtén detalles de una imagen específica, incluyendo etiquetas disponibles y recuentos de CVE:

docker dhi catalog get <image-name>

Replicar imágenes DHI

Suscripción: Docker Hardened Images Select o Enterprise

Inicia la réplica de una o más imágenes DHI en la organización de tu Docker Hub:

docker dhi mirror start --org my-org \
  -r dhi/golang,my-org/dhi-golang \
  -r dhi/nginx,my-org/dhi-nginx \
  -r dhi/prometheus-chart,my-org/dhi-prometheus-chart

Replicar con dependencias:

docker dhi mirror start --org my-org -r dhi/golang,my-org/dhi-golang --dependencies

Lista las imágenes replicadas en tu organización:

docker dhi mirror list --org my-org

Filtra las imágenes replicadas por nombre o tipo:

docker dhi mirror list --org my-org --filter python

Detén la réplica de una o más imágenes:

docker dhi mirror stop dhi-golang --org my-org
docker dhi mirror stop dhi-python dhi-golang --org my-org

Detén la réplica y elimina los repositorios:

docker dhi mirror stop dhi-golang --org my-org --delete
docker dhi mirror stop dhi-golang --org my-org --delete --force

Personalizar imágenes DHI

Suscripción: Docker Hardened Images Select o Enterprise

La CLI se puede utilizar para crear y gestionar personalizaciones de imágenes DHI. Para obtener instrucciones detalladas sobre la creación de personalizaciones utilizando la interfaz gráfica (GUI), consulta Personalizar una Docker Hardened Image.

La siguiente es una referencia rápida para los comandos de la CLI. Para obtener detalles completos sobre todas las opciones y parámetros, consulta la referencia de la CLI.

# Preparar un andamio (scaffold) de personalización
docker dhi customization prepare golang 1.25 \
  --org my-org \
  --destination my-org/dhi-golang \
  --name "golang with git" \
  --output my-customization.yaml

# Crear una personalización
docker dhi customization create my-customization.yaml --org my-org

# Listar personalizaciones
docker dhi customization list --org my-org

# Filtrar personalizaciones por nombre, repositorio o fuente
docker dhi customization list --org my-org --filter git
docker dhi customization list --org my-org --repo dhi-golang
docker dhi customization list --org my-org --source golang

# Obtener una personalización
docker dhi customization get my-org/dhi-golang "golang with git" --org my-org --output my-customization.yaml

# Actualizar una personalización
# El archivo YAML debe incluir el campo 'id' para identificar la personalización a actualizar
docker dhi customization edit my-customization.yaml --org my-org

# Eliminar una personalización
docker dhi customization delete my-org/dhi-golang "golang with git" --org my-org

# Eliminar sin solicitud de confirmación
docker dhi customization delete my-org/dhi-golang "golang with git" --org my-org --yes

Autenticación de paquetes empresariales

Suscripción: Docker Hardened Images Enterprise

Genera credenciales de autenticación para acceder al repositorio de paquetes empresariales endurecidos. Esto se utiliza al configurar tu gestor de paquetes para instalar paquetes específicos de cumplimiento en tus propias imágenes. Para obtener instrucciones detalladas, consulta Repositorio empresarial.

docker dhi auth apk

Supervisar construcciones de personalización

Suscripción: Docker Hardened Images Select o Enterprise

Lista las construcciones de una personalización:

docker dhi customization build list my-org/dhi-golang "golang with git" --org my-org
docker dhi customization build list my-org/dhi-golang "golang with git" --org my-org --json

Obtén detalles de una construcción específica:

docker dhi customization build get my-org/dhi-golang "golang with git" <build-id> --org my-org
docker dhi customization build get my-org/dhi-golang "golang with git" <build-id> --org my-org --json

Ver los registros de la construcción (logs):

docker dhi customization build logs my-org/dhi-golang "golang with git" <build-id> --org my-org
docker dhi customization build logs my-org/dhi-golang "golang with git" <build-id> --org my-org --json

Salida JSON

La mayoría de los comandos de listado y obtención admiten un parámetro --json para obtener una salida legible por máquina:

docker dhi catalog list --json
docker dhi catalog get golang --json
docker dhi mirror list --org my-org --json
docker dhi mirror start --org my-org -r golang --json
docker dhi customization list --org my-org --json
docker dhi customization build list my-org/dhi-golang "golang with git" --org my-org --json

Configuración

La CLI de docker dhi se puede configurar con un archivo YAML ubicado en:

  • $HOME/.config/dhictl/config.yaml en Linux y macOS
  • %USERPROFILE%\.config\dhictl\config.yaml en Windows

Si $XDG_CONFIG_HOME está establecido, el archivo de configuración se ubica en $XDG_CONFIG_HOME/dhictl/config.yaml (consulta la Especificación de directorios base XDG).

Opciones de configuración disponibles:

OpciónVariable de entornoDescripción
orgDHI_ORGOrganización predeterminada de Docker Hub para los comandos de réplica y personalización.
api_tokenDHI_API_TOKENToken de Docker para la autenticación. Puedes generar un token en la configuración de tu cuenta de Docker Hub.

Las variables de entorno tienen prioridad sobre los valores del archivo de configuración.