A logo showing the text blog.marcnuri.com
English
Inicio»Operaciones»Cómo encontrar el digest (sha256) de una imagen Docker multi-plataforma

Entradas Recientes

  • Fabric8 Kubernetes Client 7.2.0 está disponible!
  • Conectarse a un servidor MCP con JavaScript y AI SDK
  • Conectarse a un servidor MCP con JavaScript y LangChain.js
  • El Futuro de las Herramientas para Desarrolladores en la era de la IA
  • Conectarse a un servidor Model Context Protocol (MCP) con Java y LangChain4j

Categorías

  • Antiguo
  • Front-end
  • Go
  • Herramientas
  • Industria y negocios
  • Inteligencia Artificial
  • Java
  • JavaScript
  • Operaciones
  • Personal
  • Proyectos personales

Archivos

  • mayo 2025
  • abril 2025
  • marzo 2025
  • febrero 2025
  • enero 2025
  • diciembre 2024
  • noviembre 2024
  • agosto 2024
  • junio 2024
  • mayo 2024
  • abril 2024
  • marzo 2024
  • febrero 2024
  • enero 2024
  • diciembre 2023
  • noviembre 2023
  • octubre 2023
  • septiembre 2023
  • agosto 2023
  • julio 2023
  • junio 2023
  • mayo 2023
  • abril 2023
  • marzo 2023
  • febrero 2023
  • enero 2023
  • diciembre 2022
  • noviembre 2022
  • octubre 2022
  • agosto 2022
  • julio 2022
  • mayo 2022
  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021
  • agosto 2021
  • julio 2021
  • diciembre 2020
  • octubre 2020
  • agosto 2020
  • junio 2020
  • mayo 2020
  • marzo 2020
  • febrero 2020
  • enero 2020
  • noviembre 2019
  • octubre 2019
  • julio 2019
  • diciembre 2018
  • agosto 2018
  • julio 2018
  • junio 2018
  • mayo 2018
  • marzo 2018
  • febrero 2018
  • noviembre 2017
  • octubre 2017
  • agosto 2017
  • julio 2017
  • enero 2017
  • julio 2016
  • enero 2016
  • diciembre 2015
  • noviembre 2015
  • diciembre 2014
  • marzo 2014
  • febrero 2011
  • junio 2008
  • mayo 2008
  • abril 2008
  • enero 2008
  • junio 2007
  • mayo 2007
  • abril 2007
  • marzo 2007

Cómo encontrar el digest (sha256) de una imagen Docker multi-plataforma

2023-12-14 en Operaciones etiquetado Docker / Consejo breve por Marc Nuri | Última actualización: 2023-12-14
English version

Digests de imágenes de contenedor

Un digest de imagen de contenedor puede emplearse para identificar de forma única e inmutable una imagen de contenedor. El digest es normalmente un hash SHA-256 del manifiesto de la imagen de contenedor. Usar el digest en lugar de la etiqueta para referenciar una imagen tiene algunas ventajas:

  • El digest es inmutable, por lo que la imagen referenciada por el digest nunca cambiará.
    • Contrariamente, las etiquetas de imagen pueden reutilizarse, por lo que la misma etiqueta puede referenciar diferentes imágenes. Esto puede llevar a resultados inesperados al descargar una imagen.
    • Las herramientas de escaneo pueden usarse para comprobar si una imagen tiene vulnerabilidades, pero si la imagen se actualiza, los resultados del escaneo estarán desactualizados.
  • El digest es único, por lo que no hay posibilidad de referenciar la imagen equivocada.
  • Algunas plataformas de contenedores en la nube requieren el digest para referenciar una imagen.

Encontrar el digest de una imagen de contenedor estándar es fácil.

  • El digest puede ser visible desde la interfaz web del registro de imágenes de contenedor.
  • El digest se muestra al descargar una imagen.
  • El digest puede encontrarse usando múltiples comandos docker.

Digests de imágenes multi-plataforma

Sin embargo, al usar imágenes multi-plataforma, el digest mostrado al descargar la imagen puede no ser el digest del manifiesto de la imagen, sino el digest de la imagen para tu plataforma específica. Dado que queremos asegurarnos de que referenciamos la misma imagen para todas las plataformas, necesitamos encontrar el digest del manifiesto de la imagen multi-plataforma.

Para este propósito, podemos usar el plugin Docker buildx que normalmente se incluye con el CLI de Docker. Este enfoque también tiene la ventaja de que no necesitamos descargar la imagen para encontrar el digest.

El siguiente comando imprime el digest del manifiesto de una imagen multi-plataforma con nombre image/name y etiqueta version alojada en el registro docker.io:

docker buildx imagetools inspect docker.io/image/name:version --format "{{json .Manifest}}"

Si tienes jq disponible, puedes usar el siguiente comando para imprimir solo el digest del manifiesto de la imagen:

docker buildx imagetools inspect docker.io/image/name:tag --format "{{json .Manifest}}" | jq -r '.digest'

Por ejemplo, este sería el resultado de la ejecución para la imagen marcnuri/yakd:0.0.4:

$ docker buildx imagetools inspect docker.io/marcnuri/yakd:0.0.4 --format "{{json .Manifest}}" | jq -r '.digest'
sha256:a3f540278e4c11373e15605311851dd9c64d208f4d63e727bccc0e39f9329310
Twitter iconFacebook iconLinkedIn iconPinterest iconEmail icon

Navegador de artículos
Fabric8 Kubernetes Client 6.10 está disponible!Cómo Testear Aplicaciones Kubernetes en Go con EnvTest: Una Guía Práctica
© 2007 - 2025 Marc Nuri