Чем Docker Hub отличается от Docker Registry

Ответ

Ключевое различие в том, что Docker Registry — это общее название технологии (открытый стандарт и его эталонная реализация) для хранения Docker-образов, а Docker Hub — это конкретный публичный сервис (SaaS), который эту технологию использует.

Docker Registry

Это stateless-сервер для хранения и распространения Docker-образов. Его можно развернуть самостоятельно в своей инфраструктуре.

  • Назначение: Создание приватного хранилища образов.
  • Примеры реализаций: GitLab Registry, Amazon ECR, Google Artifact Registry, или self-hosted инстанс.

Пример запуска собственного Registry:

# Запускает локальный Docker Registry на порту 5000
docker run -d -p 5000:5000 --restart=always --name registry registry:2

# Тегируем образ для отправки в локальный Registry
docker tag my-app:latest localhost:5000/my-app

# Отправляем образ
docker push localhost:5000/my-app

Docker Hub

Это официальный облачный реестр от компании Docker. Он является реестром по умолчанию для Docker-клиента.

  • Назначение: Публичное и приватное хранение образов, доступ к официальным образам.
  • Возможности: Автоматические сборки, сканирование на уязвимости, веб-интерфейс.

Пример использования Docker Hub:

# Docker-клиент по умолчанию ищет образ в Docker Hub
docker pull python:3.10

Итог

Характеристика Docker Registry (Self-Hosted) Docker Hub (SaaS)
Суть Технология/ПО Конкретный сервис
Размещение Локально, в облаке (своими силами) В облаке Docker Inc.
Управление Полный контроль Ограничено тарифным планом
Основной кейс Приватные образы внутри компании Публичные и официальные образы