[Документация Yandex Cloud](../../index.md) > [Yandex Container Registry](../index.md) > [Концепции](index.md) > Docker-образ

# Docker-образ в Container Registry

_Docker-образ_ — шаблон для создания Docker-контейнеров. Представляет собой исполняемый пакет, содержащий все необходимое для запуска приложения: код, среду выполнения, библиотеки, переменные окружения и файлы конфигурации.

Docker-образ состоит из слоев. Каждое изменение записывается в новый слой.

* При загрузке или скачивании Docker-образа, операции производятся только с теми слоями, которые были изменены.
 
* Слои исходного Docker-образа являются общими между всеми его версиями и не дублируются.

## Управление версиями {#version}

Управление версиями Docker-образа осуществляется с помощью тегов и хешей.

_Тег_ — присваивается пользователем. Тег должен быть уникален в пределах одного [репозитория](repository.md) и может быть изменен. Если тег не был указан, при [загрузке Docker-образа](../operations/docker-image/docker-image-push.md) в реестр, Docker CLI по умолчанию устанавливает **latest**.

{% note warning %}

Тег `latest` **не означает**, что помеченная им версия Docker-образа была загружена последней.

{% endnote %}

Рекомендуется не перезаписывать теги, а использовать для каждой версии Docker-образа уникальный тег. Это позволяет использовать одну версию Docker-образа на всех ВМ с одинаковой спецификацией и облегчает поиск причины проблемы.

У одного Docker-образа может быть несколько тегов. Если вы загружаете новую версию Docker-образа с уже существующим тегом, он будет переиспользован — удален со старой версии Docker-образа и записан на новую.

_Хеш_ — генерируется автоматически, является уникальным и однозначно определяет версию Docker-образа.

Обратиться к определенной версии Docker-образа можно одним из способов:
* `<реестр>/<имя_образа>:<тег>`;
* `<реестр>/<имя_образа>@<хеш>`.

Docker-образ и все его версии хранятся в репозитории.

## Примеры использования {#examples}

* [Запуск Docker-образа на виртуальной машине](../tutorials/run-docker-on-vm/index.md)
* [Настройка подключения к Yandex Managed Service for PostgreSQL из контейнера Serverless Containers](../tutorials/container-pg-connect.md)
* [Сканирование уязвимостей при непрерывном развертывании приложений Managed Service for Kubernetes с помощью GitLab](../tutorials/cr-scanner-with-k8s-and-gitlab.md)
* [Запуск контейнерного приложения в Yandex Serverless Containers](../tutorials/deploy-app-container.md)
* [Настройка отказоустойчивой архитектуры в Yandex Cloud](../tutorials/fault-tolerance.md)

#### Полезные ссылки {#see-also}

* [Как устроен Docker® и почему он популярен](https://yandex.cloud/ru/blog/docker-guide)