Это было удивительно странно для меня.Я думал, что Идентификатор изображения Докера - его хэш SHA256.Тем не менее, очевидно, что результат docker image ls --digests
(указан под заголовком столбца DIGEST
) отличается от IMAGE ID
этого изображения.
Например,
docker image ls --digests alpine
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
alpine latest sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6 055936d39205 2 weeks ago 5.53MB
, а
docker image ls --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
...
alpine latest sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1 2 weeks ago 5.53MB
Очевидно, sha256:055936d3920576da37aa9bc460d70c5f212028bda1c08c0879aedf03d7a66ea1
(ИД ИЗОБРАЖЕНИЯ) и sha256:769fddc7cc2f0a1c35abb2f91432e8beecf83916c421420e6a6da9f8975464b6
(ДАЙГЕСТ) - это не одно и то же значение.Но почему?Какова цель иметь два разных sha256
хэша одного и того же изображения.Как они рассчитываются, соответственно?
Меня это смутило при чтении книги Docker Deep Dive , и я не смог найти четкого ответа ни в книге, ни в Интернете.