Гид по технологиям

Google Container Registry — руководство по загрузке и использованию

5 min read Cloud Обновлено 18 Dec 2025
Google Container Registry — руководство
Google Container Registry — руководство

Логотип Google Container Registry или иллюстрация контейнерного реестра

Быстрые ссылки

  • Что такое Google Container Registry?

  • Как загрузить образ в GCR

Что такое Google Container Registry?

Google Container Registry (GCR) — это приватный сервис хранения образов контейнеров Docker, привязанный к вашему аккаунту Google Cloud Platform (GCP). Он служит централизованным хранилищем образов, которые вы затем используете для развёртывания в сервисах GCP, например в Cloud Run или Google Kubernetes Engine (GKE).

Ниже — ключевые моменты по назначению и возможностям GCR:

  • Хранение образов: образы лежат в бакете Cloud Storage и доступны по областям gcr.io, eu.gcr.io, asia.gcr.io.
  • Приватность: по умолчанию репозитории приватны и требуют аутентификации через gcloud.
  • Интеграция: работает с командами docker и утилитой gcloud; образ можно тянуть/пихать в пайплайны CI/CD.
  • Дополнительные функции: опциональное сканирование на уязвимости (Vulnerability Scanning).

Важно: сервис требует включённого биллинга в проекте GCP. Стоимость хранения соответствует тарифам Cloud Storage (например, указанная ориентировочно ставка — $0.026 за ГБ в месяц), а также оплачивается исходящий трафик по стандартным тарифам.

Примечание: включение Vulnerability Scanning — опция, которая может применяться в зависимости от требований безопасности и бюджета.

Когда GCR подходит и когда не подходит

Когда подходит:

  • Нужно приватное, интегрированное с GCP хранилище образов.
  • Автоматическая интеграция с Cloud Build, Cloud Run, GKE.
  • Требуется простая схема аутентификации через gcloud для команд разработчиков.

Когда не подходит:

  • Если вам нужен мультиоблачный реестр с единым UI/политиками вне GCP — стоит рассмотреть сторонние решения.
  • Если требуется единый реестр для пакетов OCI с более гибкой классификацией и политиками доступа — обратите внимание на Artifact Registry.

Перед началом: что нужно установить и включить

  1. Установите Google Cloud SDK — он предоставляет утилиту gcloud.
  2. Установите Docker (локально или на CI-агенте), чтобы собирать и пушить образы.
  3. Включите API Container Registry в консоли GCP: нажмите “Enable” для соответствующего API.

Экран включения Container Registry в консоли GCP

Важно: если вы используете CI/CD, убедитесь, что в среде агентa настроена аутентификация (описано ниже).

Пошаговая инструкция: загрузка образа в GCR (quick start)

  1. Настройте Docker для использования gcloud как credential helper:
gcloud auth configure-docker

Эта команда автоматически обновит ваш ~/.docker/config.json и добавит gcloud как помощник учётных данных для доменов gcr.io, eu.gcr.io и asia.gcr.io.

  1. Узнайте идентификатор проекта (Project ID). В консоли GCP он видим в выпадающем меню “Select Project” — скопируйте его.

Скриншот с копированием Project ID в консоли GCP

  1. Тегирование образа для GCR (по умолчанию тег latest):
docker tag [SOURCE_IMAGE] gcr.io/[PROJECT-ID]/[IMAGE]

Если нужно указать конкретный тег, добавьте “:tag”:

docker tag [SOURCE_IMAGE] gcr.io/[PROJECT-ID]/[IMAGE]:v1.2.3
  1. Загрузка (push) образа в GCR:
docker push gcr.io/[PROJECT-ID]/[IMAGE]
  1. Проверка: образы будут видны в консоли Container Registry или через gcloud:
gcloud container images list-tags gcr.io/[PROJECT-ID]/[IMAGE]
  1. Чтобы вручную скачать (pull) образ:
docker pull gcr.io/[PROJECT-ID]/[IMAGE]:[TAG]

Замечание: на машине, выполняющей pull, должен быть настроен gcloud как credential helper, иначе аутентификация не сработает.

Регионы и хостнеймы

  • gcr.io — бакет по умолчанию (США).
  • eu.gcr.io — Европа.
  • asia.gcr.io — Азия.

Выберите регион, ближайший к вашим потребителям или кластеру, чтобы снизить задержки и расходы на трафик.

Безопасность и сканирование уязвимостей

  • Вы можете включить Vulnerability Scanning для обнаружения известных уязвимостей в базовых образах и слоях. Это опционально и требует дополнительных настроек и биллинга.
  • Для строгой политики безопасности используйте сканирование в CI до пуша образа и реализуйте политику запрета деплоя неподписанных или несеверифицированных образов.

Альтернативы и когда выбирать их

  • Artifact Registry — современная замена GCR с поддержкой нескольких форматов (Docker/OCI/Maven/NPM) и более гибкой моделью управления доступом. Стоит рассмотреть при миграции или при требовании расширенного управления пакетами.
  • Docker Hub — удобен для публичных образов и открытого совместного использования, но менее подходящ для приватного корпоративного хранения в GCP.
  • Частные реестры (Harbor, JFrog Artifactory) — подходят для мультиоблачных стратегий или если нужен единый интерфейс для многих типов пакетов.

Чеклист для быстрого развёртывания (role-based)

Разработчик:

  • Собрал локальный образ и проверил его поведение.
  • Проставил корректный тег: gcr.io/[PROJECT-ID]/[IMAGE]:[TAG].
  • Запустил локальное тестирование контейнера.

DevOps/CI:

  • На CI настроен gcloud и выполнен gcloud auth configure-docker.
  • Есть шаг сборки → тегирование → пуш в GCR.
  • Развертывание подтягивает образы из GCR и использует управляемую учетную запись сервиса.

Security:

  • Сканирование образов настроено в пайплайне или включено Vulnerability Scanning.
  • Политики доступа (IAM) ограничивают пуш/пулл к нужным аккаунтам сервисов.

Мини-методология: безопасность и надёжность

  1. Сборка: минимизировать слои и использовать обновлённые базовые образы.
  2. Сканирование: запускать статический анализ/сканирование уязвимостей в CI.
  3. Подпись/верификация: использовать подпись образов, если требуется строгий контроль.
  4. Развёртывание: динамические теги в CI с канареечным развёртыванием.

Критерии приёмки

  • Образ доступен в GCR по ожидаемому имени и тегу.
  • CI успешно пушит образ без ошибок аутентификации.
  • При развёртывании в GKE/Cloud Run приложение поднимается из этого образа.
  • Сканы уязвимостей не показывают критичных проблем (или известные проблемы задокументированы и приняты).

Типичные ошибки и как их исправить

  • Ошибка: «unauthorized: authentication required». Причина: gcloud не настроен как credential helper. Решение: запустить gcloud auth configure-docker и повторить.
  • Ошибка: невидимая метка/образ. Проверьте, тегировали ли вы образ с правильным Project ID и региональным доменом (gcr.io / eu.gcr.io).
  • Ошибка: роль IAM не позволяет пушить/тянуть. Проверьте роли сервиса/пользователя (Storage Object Admin/Viewer и соответствующие роли Container Registry).

Краткий глоссарий

  • GCR: Google Container Registry — приватный реестр образов Docker в GCP.
  • gcloud: CLI для управления Google Cloud.
  • Push/Pull: загрузка/скачивание образов Docker.
  • Tag: метка образа, указывающая имя и версию.

Итог

Google Container Registry — простое и интегрированное решение для хранения Docker-образов в GCP. Для новых проектов рассмотрите Artifact Registry как более современную альтернативу. Всегда настраивайте аутентификацию через gcloud, используйте сканирование и автоматизируйте деплой через CI/CD.

Важно: проверьте актуальные тарифы хранения и сканирования в консоли GCP перед массовым использованием.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Восстановление повреждённых архивов в Windows
Инструменты

Восстановление повреждённых архивов в Windows

Сброс пароля Snapchat — быстро и безопасно
Инструкции

Сброс пароля Snapchat — быстро и безопасно

GlobalProtect для Windows 11: установка и настройка
VPN

GlobalProtect для Windows 11: установка и настройка

Форматирование диаграмм в Excel — руководство
Excel

Форматирование диаграмм в Excel — руководство

Уведомления об неизвестных трекерах на Android
Мобильная безопасность

Уведомления об неизвестных трекерах на Android

Переустановка аудиодрайвера в Windows 11
Windows

Переустановка аудиодрайвера в Windows 11