Загрузить образ по его неизменяемому дайджесту (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