Gymterview
junior

Что такое Docker Registry и Docker Hub?

Docker Registry — это сервер для хранения и распространения Docker-образов, реализующий Docker Registry HTTP API для загрузки (push) и скачивания (pull) образов.

Типы реестров

  • Публичные — доступны всем. Главный пример — Docker Hub
  • Приватные — доступны только внутри организации. Примеры: GitLab Container Registry, GitHub Container Registry, Amazon ECR, Google Artifact Registry, Azure Container Registry
  • Self-hosted — собственный реестр:
Пример
docker run -d -p 5000:5000 --name registry registry:2
docker push localhost:5000/myapp:1.0

Docker Hub

Крупнейший публичный реестр Docker-образов (hub.docker.com). Содержит:

  • Официальные образы — проверенные и поддерживаемые командой Docker или авторами проектов: openjdk, eclipse-temurin, postgres, redis, nginx, maven, gradle
  • Верифицированные образы издателей — от проверенных компаний (Bitnami, Confluent и др.)
  • Пользовательские образы — загруженные сообществом

Работа с Docker Hub

Пример
# Авторизация
docker login

# Скачать образ
docker pull eclipse-temurin:17-jre-alpine

# Тегировать для отправки
docker tag myapp:1.0 myuser/myapp:1.0

# Отправить
docker push myuser/myapp:1.0

Именование образов

Пример
[registry/]namespace/repository:tag

docker.io/library/postgres:16-alpine    # Полное имя официального образа
postgres:16-alpine                       # Сокращённая форма
mycompany.com/backend/myapp:1.0         # Приватный реестр
ghcr.io/myorg/myapp:latest              # GitHub Container Registry

На собеседовании: Registry — это хранилище образов (аналог Maven Central для JAR). Docker Hub — главный публичный реестр. Знайте формат именования: registry/namespace/repo:tag. Упомяните, что в production обычно используют приватные реестры (GitLab CR, Amazon ECR) для контроля доступа и безопасности.