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

Inicio rápido de Docker Hardened Images

Esta guía te muestra cómo pasar de cero a ejecutar una Docker Hardened Image (DHI) utilizando un ejemplo real. Al final, compararás la DHI con una imagen estándar de Docker para comprender mejor las diferencias. Aunque los pasos utilizan una imagen específica como ejemplo, se pueden aplicar a cualquier DHI.

Este inicio rápido utiliza imágenes de DHI Community de dhi.io. Iniciarás sesión con tu cuenta de Docker, descargarás y ejecutarás una imagen, y la compararás con una Docker Official Image.

Note

Si tienes una suscripción a DHI Select o Enterprise, consulta la guía Primeros pasos con DHI Select y Enterprise en su lugar. Las suscripciones Select y Enterprise utilizan repositorios replicados en el espacio de nombres de tu organización en Docker Hub para habilitar la personalización, las actualizaciones de seguridad respaldadas por SLA y el acceso a las variantes de cumplimiento.

Paso 1: Buscar una imagen para usar

  1. Ve al catálogo de Hardened Images en Docker Hub.
  2. Usa la barra de búsqueda o los filtros para buscar una imagen (por ejemplo, python, node o golang). Para este ejemplo, busca python.
  3. Selecciona el repositorio de Python para ver sus detalles.

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

Paso 2: Descargar y ejecutar la imagen

Puedes descargar y ejecutar una DHI como cualquier otra imagen de Docker. Ten en cuenta que las Docker Hardened Images están diseñadas para ser mínimas y seguras, por lo que es posible que no incluyan todas las herramientas o bibliotecas que esperas en una imagen típica. Puedes ver las diferencias comunes en Consideraciones al adoptar DHI.

El siguiente ejemplo demuestra que puedes ejecutar la imagen de Python y ejecutar un comando simple de Python igual que lo harías con cualquier otra imagen de Docker:

  1. Abre una terminal e inicia sesión en el registro de Docker Hardened Images utilizando las credenciales de tu cuenta de Docker.

    $ docker login dhi.io
    
    Tip

    Si no tienes una cuenta de Docker, crea una cuenta gratuita para empezar.

  2. Descarga la imagen:

    $ docker pull dhi.io/python:3.13
    
  3. Ejecuta la imagen para confirmar que todo funciona correctamente:

    $ docker run --rm dhi.io/python:3.13 python -c "print('Hola desde DHI')"
    

    Esto inicia un contenedor a partir de la imagen python:3.13 y ejecuta un script de Python simple que imprime Hola desde DHI.

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

Paso 3: Comparar con otras imágenes

Puedes comparar rápidamente las DHI con otras imágenes para ver las mejoras de seguridad y las diferencias. Esta comparación te ayuda a comprender el valor de utilizar imágenes securizadas.

Ejecuta el siguiente comando para comparar la Docker Hardened Image para Python con la Docker Official Image para Python no securizada de Docker Hub. Busca la sección ## Overview en la salida para ver una comparación resumida.

$ docker scout compare dhi.io/python:3.13 \
    --to python:3.13 \
    --platform linux/amd64 \
    --ignore-unchanged

La sección ## Overview de la salida tendrá un aspecto similar al siguiente:

  ## Overview

                      │                    Analyzed Image                     │               Comparison Image
  ────────────────────┼───────────────────────────────────────────────────────┼───────────────────────────────────────────────
    Target            │  dhi.io/python:3.13                                   │  python:3.13
      digest          │  c215e9da9f84                                         │  7f48e892134c
      tag             │  3.13                                                 │  3.13
      platform        │ linux/amd64                                           │ linux/amd64
      provenance      │ https://github.com/docker-hardened-images/definitions │ https://github.com/docker-library/python.git
                      │  77a629b3d0db035700206c2a4e7ed904e5902ea8             │  3f2d7e4c339ab883455b81a873519f1d0f2cd80a
      vulnerabilities │    0C     0H     0M     0L                            │    0C     1H     5M   141L     2?
                      │           -1     -5   -141     -2                     │
      size            │ 35 MB (-377 MB)                                       │ 412 MB
      packages        │ 80 (-530)                                             │ 610
                      │                                                       │
Note

Esta es una salida de ejemplo. Tus resultados pueden variar en función de los CVE descubiertos recientemente y de las actualizaciones de las imágenes.

Docker mantiene casi cero CVE en las Docker Hardened Images. Para las suscripciones DHI Select y Enterprise, cuando se descubren nuevos CVE, estos se solucionan dentro del plazo de tiempo de SLA líder en la industria. Obtén más información sobre las características de seguridad respaldadas por SLA.

Esta comparación muestra que la Docker Hardened Image:

  • Elimina vulnerabilidades: Se eliminaron 1 CVE de gravedad alta, 5 de gravedad media, 141 de gravedad baja y 2 de gravedad no especificada.
  • Reduce el tamaño: De 412 MB a 35 MB (una reducción del 91%).
  • Minimiza los paquetes: De 610 paquetes a 80 (una reducción del 87%).

Para profundizar en la comparación de imágenes, consulta Buscar y evaluar Docker Hardened Images.

Siguientes pasos

Has descargado y ejecutado tu primera 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.
  • Iniciar una prueba para explorar los beneficios de una suscripción a DHI, como el acceso a variantes FIPS y STIG, imágenes personalizadas y actualizaciones respaldadas por SLA.
  • Primeros pasos con DHI Select y Enterprise: Después de suscribirte a DHI o iniciar una prueba, aprende a replicar repositorios, personalizar imágenes y acceder a variantes de cumplimiento.
  • Verificar DHI: Usa herramientas como Docker Scout o Cosign para inspeccionar y verificar las atestaciones firmadas, como SBOM y procedencia.
  • Escanear DHI: Analiza la imagen con Docker Scout u otros escáneres para identificar CVE conocidos.