Docker-образ в Container Registry
Docker-образ — шаблон для создания Docker-контейнеров. Представляет собой исполняемый пакет, содержащий все необходимое для запуска приложения: код, среду выполнения, библиотеки, переменные окружения и файлы конфигурации.
Docker-образ состоит из слоев. Каждое изменение записывается в новый слой.
-
При загрузке или скачивании Docker-образа, операции производятся только с теми слоями, которые были изменены.
-
Слои исходного Docker-образа являются общими между всеми его версиями и не дублируются.
Управление версиями
Управление версиями Docker-образа осуществляется с помощью тегов и хешей.
Тег — присваивается пользователем. Тег должен быть уникален в пределах одного репозитория и может быть изменен. Если тег не был указан, при загрузке Docker-образа в реестр, Docker CLI по умолчанию устанавливает latest.
Важно
Тег latest
не означает, что помеченная им версия Docker-образа была загружена последней.
Рекомендуется не перезаписывать теги, а использовать для каждой версии Docker-образа уникальный тег. Это позволяет использовать одну версию Docker-образа на всех ВМ с одинаковой спецификацией и облегчает поиск причины проблемы.
У одного Docker-образа может быть несколько тегов. Если вы загружаете новую версию Docker-образа с уже существующим тегом, он будет переиспользован — удален со старой версии Docker-образа и записан на новую.
Хеш — генерируется автоматически, является уникальным и однозначно определяет версию Docker-образа.
Обратиться к определенной версии Docker-образа можно одним из способов:
<реестр>/<имя_образа>:<тег>
;<реестр>/<имя_образа>@<хеш>
.
Docker-образ и все его версии хранятся в репозитории.