Esto ha sido sorprendentemente confuso para mí. Pensé que la ID de imagen de Docker es su hash SHA256. Sin embargo, aparentemente el resultado de la docker image ls --digests (enumerados bajo el encabezado de columna DIGEST ) es diferente de la IMAGE ID de esa imagen.
Por ejemplo
docker image ls --digests alpine REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE alpine latest sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6 055936d39205 2 weeks ago 5.53MBmientras
docker image ls --no-trunc REPOSITORY TAG IMAGE ID CREATED SIZE ... alpine latest sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1 2 weeks ago 5.53MB Claramente sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1 (ID de IMAGEN) y sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6 no tienen el mismo valor. ¿Pero por qué? ¿Cuál es el propósito de tener dos hashes sha256 diferentes de la misma imagen? ¿Cómo se calculan, respectivamente?
Estaba confundido por esto cuando leí el libro Docker Deep Dive , y no he podido encontrar una respuesta clara ni en el libro ni en línea.
Gracias por el comentario de michalk. La respuesta corta es: