Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!