Частный регистр & GHCR
Тема дорожной карты · Docker & Containers
Приватные реестры хранят образы, которым не место на Docker Hub: GHCR (ghcr.io), AWS ECR, GCP Artifact Registry, Harbor, Nexus или open-source registry:2, который можно поднять самостоятельно. Рабочий процесс одинаковый: docker login <registry>, затем push/pull registry/namespace/image:tag. GHCR удобен наследованием прав из GitHub и интеграцией с GITHUB_TOKEN в Actions. Для продакшена: пиньте по digest, настройте подпись образов (Cosign / Notation), поднимите pull-through кэш для обхода upstream-лимитов и заведите retention policies для чистки старых тегов.
Как это работает
Частный регистр & GHCR хранит и раздаёт образы. Docker Hub — дефолтный публичный registry; приватные альтернативы — Harbor (self-hosted, бесплатный), AWS ECR, Google Artifact Registry, GitHub Container Registry (ghcr.io), Yandex Container Registry. Один "registry" хостит много репозиториев; репозиторий держит много тегов + digest для одного логического образа. docker login, docker tag repo/image:tag, docker push — трио для загрузки.
Когда применять
Docker Hub — для OSS-проектов и прототипов; переходите на приватный registry, как только в образах есть проприетарный код, секреты или лицензированные зависимости. Для RF-инфраструктуры практичен Yandex CR + Harbor (rate-лимиты Hub + санкционные риски делают публичный поганым дефолтом). Подписывайте образы через cosign или Notary, когда supply chain важен. Сканирование уязвимостей (Trivy, Grype) — в CI-шаге, который пушит образ.
Типичные ошибки
Ловушки Частный регистр & GHCR: rate-лимиты anonymous Docker Hub в CI (100 pulls/6h на IP — легко превышаются busy-раннером — логиньтесь или используйте mirror); пуш образов с запечёнными секретами и обнаружение через недели (history образа — навсегда); нет garbage collection на self-hosted registry (storage растёт без границ); вера :latest без provenance (подписывайте + проверяйте или pull по digest).