Загрузка образа по его неизменяемому дайджесту (digest)
На этом этапе вы научитесь загружать Docker-образ с использованием его неизменяемого дайджеста (digest). В то время как теги удобны, они могут быть обновлены для указания на другую версию образа. В то же время дайджест представляет собой уникальный идентификатор для определенной конфигурации слоев образа и его истории. Это более надежный способ гарантировать, что вы загружаете один и тот же образ каждый раз.
Формат команды для загрузки образа по дайджесту имеет вид docker pull <image_name>@<digest>
.
Сначала найдем дайджест уже имеющегося у нас образа. Мы можем использовать команду docker images --digests
для отображения дайджестов локальных образов.
docker images --digests
Вы должны увидеть вывод, похожий на этот, включая столбец DIGEST
:
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
ubuntu 20.04 sha256:... ... ...
hello-world latest sha256:f52335ce493f8f15cfcf46725b2909db9087b688aedabbbd2a167ae30b6da6fc ... ... ...
Возьмем дайджест образа hello-world
. Скопируйте полную строку дайджеста (начиная с sha256:
).
Теперь попробуем загрузить образ hello-world
еще раз, но на этот раз используя его дайджест. Замените <digest>
на фактический скопированный вами дайджест.
docker pull hello-world@sha256:f52335ce493f8f15cfcf46725b2909db9087b688aedabbbd2a167ae30b6da6fc
Поскольку вы, вероятно, уже имеете этот слой образа, Docker сообщит, что образ обновлен.
sha256:f52335ce493f8f15cfcf46725b2909db9087b688aedabbbd2a167ae30b6da6fc: Pulling from library/hello-world
Digest: sha256:f52335ce493f8f15cfcf46725b2909db9087b688aedabbbd2a167ae30b6da6fc
Status: Downloaded newer image for hello-world@sha256:f52335ce493f8f15cfcf46725b2909db9087b688aedabbbd2a167ae30b6da6fc
docker.io/library/hello-world@sha256:f52335ce493f8f15cfcf46725b2909db9087b688aedabbbd2a167ae30b6da6fc
Загрузка по дайджесту особенно полезна в производственных средах или автоматизированных скриптах, где необходимо гарантировать, что вы развертываете определенную, неизменяемую версию образа.
Вы можете снова проверить имеющиеся образы, используя команду docker images --digests
. Вы увидите, что образ hello-world
будет перечислен, возможно, с тегом и дайджестом, если вы ранее загружали его по тегу.
docker images --digests