Что такое Docker Registry?

Ответ

Docker Registry — это централизованное stateless-хранилище для Docker-образов. Оно позволяет командам и CI/CD системам управлять версиями образов, распространять их и разворачивать приложения.

Основные типы реестров:

  • Публичные: Открытые репозитории, самый известный из которых — Docker Hub. Содержит тысячи официальных и пользовательских образов.
  • Приватные: Реестры, развернутые внутри компании или в облаке (например, AWS ECR, Google Container Registry, GitLab Container Registry) для хранения проприетарных или чувствительных образов.

Зачем это нужно?

  1. Централизация: Единый источник правды для всех образов в проекте.
  2. Контроль доступа: Управление правами на скачивание (pull) и загрузку (push) образов.
  3. Автоматизация: Интеграция с 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.