Реестр контейнеров — это серверное приложение или облачный сервис для хранения и индексации образов Docker. Он выступает центральным узлом в CI/CD процессах, обеспечивая доступ к артефактам сборки для серверов деплоя и разработчиков. Реестры позволяют разграничивать доступ к коду и автоматизировать доставку ПО.
Работа строится на стандартном HTTP API, через которое клиент (например, docker или podman) отправляет (push) или скачивает (pull) слои образа. Реестр хранит манифесты в формате JSON, описывающие структуру слоев, и сами сжатые данные. Это позволяет эффективно передавать только измененные части образа.
Применяется для изоляции инфраструктуры, ускорения доставки обновлений и контроля безопасности. Публичные реестры используются для open-source проектов, а приватные (например, Harbor или AWS ECR) — для защиты интеллектуальной собственности компании.
Пример
Типовой рабочий процесс включает команду docker push registry.example.com/myapp:v1.2.0. Использование локального реестра внутри закрытого контура сокращает время развертывания крупных образов весом более 1 ГБ до нескольких секунд за счет исключения внешнего интернет-трафика.