Ответ
Docker Registry — это централизованное stateless-хранилище для Docker-образов. Оно позволяет командам и CI/CD системам управлять версиями образов, распространять их и разворачивать приложения.
Основные типы реестров:
- Публичные: Открытые репозитории, самый известный из которых — Docker Hub. Содержит тысячи официальных и пользовательских образов.
- Приватные: Реестры, развернутые внутри компании или в облаке (например, AWS ECR, Google Container Registry, GitLab Container Registry) для хранения проприетарных или чувствительных образов.
Зачем это нужно?
- Централизация: Единый источник правды для всех образов в проекте.
- Контроль доступа: Управление правами на скачивание (
pull
) и загрузку (push
) образов. - Автоматизация: Интеграция с CI/CD-пайплайнами для автоматической сборки и деплоя.
Пример рабочего процесса:
# 1. Скачать официальный образ из Docker Hub
docker pull python:3.10-slim
# 2. Войти в свой приватный реестр
docker login my.private-registry.com
# 3. Присвоить тег локальному образу для отправки в приватный реестр
docker tag my-app:latest my.private-registry.com/my-project/my-app:1.0
# 4. Загрузить образ в приватный реестр
docker push my.private-registry.com/my-project/my-app:1.0
Собственный базовый Docker Registry можно легко запустить локально командой: docker run -d -p 5000:5000 --name registry registry:2
.