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
- Descarga el binario
dhictlpara tu plataforma desde la página de versiones (releases). - Muévelo a un directorio en tu variable de entorno
PATH:mv dhictl /usr/local/bin/en Linux y macOS- Mueve
dhictl.exea un directorio en tu variable de entornoPATHen Windows
Uso
Cada comando tiene ayuda integrada accesible con la opción --help:
docker dhi --help
docker dhi catalog list --helpExaminar el catálogo DHI
Lista todas las imágenes DHI disponibles:
docker dhi catalog listFiltra 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 --stigObtén detalles de una imagen específica, incluyendo etiquetas disponibles y recuentos de CVE:
docker dhi catalog get <image-name>Replicar imágenes DHI
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-chartReplicar con dependencias:
docker dhi mirror start --org my-org -r dhi/golang,my-org/dhi-golang --dependenciesLista las imágenes replicadas en tu organización:
docker dhi mirror list --org my-orgFiltra las imágenes replicadas por nombre o tipo:
docker dhi mirror list --org my-org --filter pythonDeté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-orgDeté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 --forcePersonalizar imágenes DHI
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 --yesAutenticación de paquetes empresariales
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 apkSupervisar construcciones de personalización
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 --jsonObté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 --jsonVer 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 --jsonSalida 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 --jsonConfiguración
La CLI de docker dhi se puede configurar con un archivo YAML ubicado en:
$HOME/.config/dhictl/config.yamlen Linux y macOS%USERPROFILE%\.config\dhictl\config.yamlen 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ón | Variable de entorno | Descripción |
|---|---|---|
org | DHI_ORG | Organización predeterminada de Docker Hub para los comandos de réplica y personalización. |
api_token | DHI_API_TOKEN | Token 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.