Cela a été étonnamment déroutant pour moi. Je pensais que l'ID d'image de Docker était son hachage SHA256. Cependant, apparemment, le résultat de docker image ls --digests
(répertorié sous l'en-tête de colonne DIGEST
) est différent du IMAGE ID
de cette image.
Par exemple
docker image ls --digests Alpine
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
Alpine latest sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6 055936d39205 2 weeks ago 5.53MB
tandis que
docker image ls --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
...
Alpine latest sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1 2 weeks ago 5.53MB
Clairement sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1
(ID IMAGE) et sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6
(DIGEST) n'ont pas la même valeur. Mais pourquoi? Quel est le but d'avoir deux sha256
hachages de la même image. Comment sont-ils calculés, respectivement?
Cela m'a dérouté en lisant le livre Docker Deep Dive, et je n'ai pas pu trouver de réponse claire ni dans le livre ni en ligne.
Merci pour le commentaire de michalk. La réponse courte est: