Что такое Container Registry
Хранилище Docker-образов
Container Registry
Container Registry — централизованное хранилище для Docker-образов и других OCI-совместимых артефактов, обеспечивающее версионирование, управление доступом и распространение контейнеров.
Типы реестров
| Тип | Примеры | |-----|---------| | Публичные | Docker Hub, GitHub Container Registry | | Облачные | AWS ECR, Google GCR, Azure ACR | | Self-hosted | Harbor, Nexus, JFrog Artifactory | | GitLab | GitLab Container Registry |
Основные функции
- Хранение образов — централизованный репозиторий
- Версионирование — теги и digest для идентификации
- Контроль доступа — RBAC и политики безопасности
- Сканирование уязвимостей — интеграция с Trivy, Clair
- Репликация — зеркалирование между регионами
Работа с реестром
| Команда | Описание | |---------|----------| | docker login | Авторизация в реестре | | docker push | Загрузка образа | | docker pull | Скачивание образа | | docker tag | Создание тега |
Лучшие практики
- Использовать immutable теги (не latest)
- Сканировать образы на уязвимости
- Подписывать образы (Cosign, Notary)
- Настроить политику очистки старых образов
- Включить garbage collection
Интеграция с CI/CD
# GitLab CI пример
build:
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA