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) для контроля доступа и безопасности.