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

Primeros pasos con DHI Select y Enterprise

Suscripción: Docker Hardened Images Select o Enterprise

Esta guía te muestra cómo empezar a trabajar con las suscripciones DHI Select y Enterprise. A diferencia de DHI Community, este flujo de trabajo te deja replicar repositorios en el espacio de nombres de tu organización en Docker Hub, acceder a variantes de cumplimiento (FIPS), personalizar imágenes y obtener actualizaciones respaldadas por SLA.

Requisitos previos

Para utilizar este flujo de trabajo, necesitas:

Cada paso, cuando corresponda, muestra las instrucciones para Docker Hub y la línea de comandos. Puedes usar cualquiera de las dos interfaces.

Paso 1: Buscar una imagen para usar

  1. Ve a Docker Hub e inicia sesión.

  2. Selecciona tu organización en la barra lateral izquierda.

  3. Navega a Hardened Images > Catalog.

  4. Usa la barra de búsqueda o los filtros para buscar una imagen (por ejemplo, python, node o golang). Para este ejemplo, busca python.

    Para buscar una imagen con una variante de cumplimiento (FIPS o STIG), selecciona Filter by y elige la opción de cumplimiento correspondiente.

  5. Selecciona el repositorio de Python para ver sus detalles.

  6. Selecciona Images para ver las variantes de imágenes disponibles.

  1. Lista los repositorios de imágenes disponibles:

    $ docker dhi catalog list --type image
    
  2. Para filtrar por nombre y cumplimiento de FIPS, usa las opciones --filter y --fips:

    $ docker dhi catalog list --filter python --fips
    
  3. Obtén los detalles de la imagen para el repositorio:

    $ docker dhi catalog get python
    

Continúa con el siguiente paso para replicar la imagen. Para profundizar en la exploración de imágenes, consulta Buscar y evaluar Docker Hardened Images.

Paso 2: Replicar el repositorio

La réplica copia un repositorio de DHI en el espacio de nombres de tu organización en Docker Hub. Esto te deja recibir parches de seguridad de Docker respaldados por SLA para tus imágenes y utilizar la personalización, así como variantes de cumplimiento. Solo los propietarios de la organización pueden replicar repositorios.

  1. En la página de detalles del repositorio de imágenes que encontraste en el paso anterior, selecciona Use this image > Mirror repository. Ten en cuenta que debes haber iniciado sesión en Docker Hub para realizar esta acción.
  2. Selecciona Mirror.
  3. Espera a que las imágenes terminen de replicarse. Esto puede tardar unos minutos.
  4. Verifica que el repositorio replicado aparezca en el espacio de nombres de tu organización con el prefijo dhi- (por ejemplo, dhi-python).

Para utilizar los siguientes comandos, debes autenticarte o configurar la autenticación de la CLI de DHI con tu token de Docker. Para obtener más detalles, consulta Usar la CLI de DHI.

  1. Inicia la réplica del repositorio en el espacio de nombres de tu organización. Reemplaza <your-org> con el nombre de tu organización.

    $ docker dhi mirror start --org <your-org> \
        -r dhi/python,<your-org>/dhi-python
    
  2. Espera a que las imágenes terminen de replicarse. Esto puede tardar unos minutos.

  3. Verifica el repositorio replicado. Reemplaza <your-org> con el nombre de tu organización.

    $ docker dhi mirror list --org <your-org>
    

Continúa con el siguiente paso para personalizar la imagen. Para profundizar en la réplica de imágenes, consulta Replicar un repositorio.

Paso 3: Personalizar la imagen

Una de las ventajas clave de DHI Select y Enterprise es la posibilidad de personalizar tus imágenes replicadas. Puedes añadir paquetes del sistema, configurar ajustes o realizar otras modificaciones para cumplir con los requisitos específicos de tu organización.

Este ejemplo muestra cómo añadir el paquete del sistema curl a tu imagen de Python replicada.

  1. Ve al espacio de nombres de tu organización en Docker Hub.
  2. Navega a tu repositorio replicado (por ejemplo, dhi-python).
  3. Selecciona Customizations.
  4. Selecciona Create customization.
  5. Busca 3-alpine3.23 y selecciona una de las imágenes.
  6. En Add packages, selecciona curl.
  7. Selecciona Next: Configure.
  8. En Customization name, introduce un nombre para tu personalización (por ejemplo, curl).
  9. Selecciona Next: Review customization.
  10. Selecciona Create customization para iniciar la compilación.

La compilación de la personalización puede tardar unos minutos. Ve a la pestaña Customizations de tu repositorio replicado y consulta la columna Last build para monitorizar el estado de la compilación.

Para utilizar los siguientes comandos, debes autenticarte o configurar la autenticación de la CLI de DHI con tu token de Docker. Para obtener más detalles, consulta Usar la CLI de DHI.

  1. Crea una personalización. Reemplaza <your-org> con el nombre de tu organización. Esto crea un archivo llamado my-customization.yaml con los detalles de la personalización.

    $ docker dhi customization prepare --org <your-org> python 3-alpine3.23 \
        --destination <your-org>/dhi-python \
        --name "python con curl" \
        --output my-customization.yaml
    
  2. Añade el paquete curl a la personalización. Puedes editar el archivo con cualquier editor de texto o código. Los siguientes comandos utilizan echo para añadir las líneas necesarias al archivo YAML:

    $ echo "contents:" >> my-customization.yaml
    $ echo "  packages:" >> my-customization.yaml
    $ echo "    - curl" >> my-customization.yaml
    
  3. Aplica la personalización:

    $ docker dhi customization create --org <your-org> my-customization.yaml
    
  4. Verifica que la personalización se haya creado:

    $ docker dhi customization list --org <your-org>
    

La compilación de la personalización puede tardar unos minutos. Para comprobar el estado de la compilación:

  1. Ve al espacio de nombres de tu organización en Docker Hub.
  2. Navega a tu repositorio replicado (por ejemplo, dhi-python).
  3. Selecciona Customizations.
  4. Consulta la columna Last build para monitorizar el estado de la compilación.

Para profundizar en la personalización, consulta Personalizar una Docker Hardened Image.

Paso 4: Descargar y ejecutar tu imagen personalizada

Una vez completada la compilación de la personalización, puedes descargar y ejecutar la imagen personalizada desde el espacio de nombres de tu organización en Docker Hub.

  1. Inicia sesión en Docker Hub:

    $ docker login
    
  2. Descarga la imagen personalizada de tu organización. Reemplaza <your-org> con el nombre de tu organización. La etiqueta personalizada incluye el sufijo basado en el nombre de tu personalización.

    $ docker pull <your-org>/dhi-python:3-alpine3.23_python-with-curl
    
  3. Ejecuta la imagen y comprueba que curl esté instalado:

    $ docker run --rm <your-org>/dhi-python:3-alpine3.23_python-with-curl curl --version
    

Esto confirma que el paquete curl se añadió correctamente a la imagen.

Para profundizar en el uso de las imágenes, consulta:

Paso 5: Eliminar la personalización y detener la réplica

Para eliminar la personalización y detener la réplica del repositorio:

  1. Ve al espacio de nombres de tu organización en Docker Hub.
  2. Navega a tu repositorio replicado (por ejemplo, dhi-python).
  3. Selecciona Customizations.
  4. Busca la personalización que quieres eliminar (por ejemplo, python con curl).
  5. Selecciona el icono de la papelera.
  6. Selecciona Delete customization para confirmar la eliminación.
  7. Para detener la réplica, vuelve a la lista de repositorios de tu organización.
  8. Busca el repositorio replicado (por ejemplo, dhi-python).
  9. Selecciona Settings.
  10. Selecciona Stop mirroring.
  11. Selecciona Stop mirroring para confirmar.

Siguientes pasos

Has replicado, personalizado y ejecutado una Docker Hardened Image. Aquí tienes algunas formas de continuar:

  • Migrar aplicaciones existentes a DHI: Usa Gordon para actualizar tus Dockerfiles de modo que utilicen Docker Hardened Images como base.
  • Verificar DHI: Usa herramientas como Docker Scout o Cosign para inspeccionar y verificar atestaciones firmadas, como SBOM y procedencia.
  • Escanear DHI: Analiza la imagen con Docker Scout u otros escáneres para identificar CVE conocidos.