Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

240
Vistas
Cómo obtener el resumen de la imagen de la ventana acoplable de la etiqueta

Quiero construir un sistema muy simple (pensando en algunas líneas de Python) que convierte una etiqueta docker determinada (por ejemplo, ubuntu:latest ) en el resumen SHA256 de la imagen a la que apunta actualmente la etiqueta.

Soy consciente de que si tenemos instalado Docker, podemos simplemente pull y luego enumerar el resumen de la imagen extraída. Estaba pensando si esto se puede lograr sin realmente tirar de la imagen.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El cliente de Docker no (parece) mostrar esta funcionalidad, por lo que deberá usar un SDK de cliente de Registro. Estoy usando Golang y no he podido encontrar un SDK que sea fácil de usar y funcione en todos los registros (estoy interesado en usar Google Container Registry además de Docker Hub). Puede tener más éxito con Python.

He estado trabajando en un proyecto con manifiestos de imágenes de contenedores y escribí una publicación en Medium sobre cómo enumerar manifiestos y resúmenes de manifiestos. Espero que te sea útil:

https://medium.com/google-cloud/adventures-w-docker-manifiestos-78f255d662ff

NB Hay algunas inconsistencias con la implementación de Docker Hub de la API HTTP v2 de Docker Registry . FWIW, Google Container Registry (GCR) implementa con precisión la API de registro. Trabajo para Google aunque no en el equipo de GCR.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede usar crane para obtener el manifiesto de la imagen y luego usar skopeo para calcular el resumen.

 $ crane manifest ubuntu:18.04 | skopeo manifest-digest /dev/stdin sha256:86510528ab9cd7b64209cbbe6946e094a6d10c6db21def64a93ebdd20011de1d

Alternativamente, puede obtener el mismo resumen de la salida de skopeo inspect

 $ skopeo inspect docker://ubuntu:18.04 | jq -r .Digest sha256:86510528ab9cd7b64209cbbe6946e094a6d10c6db21def64a93ebdd20011de1d

O si desea hacerlo a mano sin ninguna de las herramientas mencionadas anteriormente, intente esto:

 $ curl -s -L \ -H "Accept: application/vnd.docker.distribution.manifest.v2+json,application/vnd.docker.distribution.manifest.list.v2+json" \ -H "Authorization: Bearer $(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:library/ubuntu:pull" | jq -r .token)" \ https://index.docker.io/v2/library/ubuntu/manifests/18.04 | sha256sum 86510528ab9cd7b64209cbbe6946e094a6d10c6db21def64a93ebdd20011de1d -

De hecho, una solicitud HEAD es suficiente para obtener el hash manifiesto

 $ curl -s -L -I \ -H "Accept: application/vnd.docker.distribution.manifest.v2+json,application/vnd.docker.distribution.manifest.list.v2+json" \ -H "Authorization: Bearer $(curl -s "https://auth.docker.io/token?service=registry.docker.io&scope=repository:library/ubuntu:pull" | jq -r .token)" \ https://index.docker.io/v2/library/ubuntu/manifests/18.04 | grep ^Docker-Content-Digest | awk '{print $2}' sha256:86510528ab9cd7b64209cbbe6946e094a6d10c6db21def64a93ebdd20011de1d
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda