CI/CDУслуги и технологии

Container Registry в России: где хранить Docker-образы для CI/CD пайплайна

Selectel CR, Timeweb Registry, GitLab встроенный или свой Harbor — разбираемся, что удобнее и дешевле.

Обновлено: 2026-09-06
Время чтения: ~6 мин
Автор: Алексей Кузнецов (Ведущий системный архитектор)
Быстрый ответ & Краткая суть

Container Registry — это приватное хранилище Docker-образов, из которого ваши серверы скачивают контейнеры при деплое. В России можно использовать managed registry от Selectel (от 100 ₽/ГБ/мес, интеграция с MKS), встроенный GitLab Container Registry (бесплатно при наличии GitLab) или развернуть свой Harbor на VPS. Docker Hub ненадёжен из-за периодических ограничений для российских IP.

Selectel CRManaged, интеграция с K8s MKS
GitLab RegistryБесплатно в комплекте с GitLab CI
Harbor (self-hosted)Бесплатно, нужен VPS от 2 ГБ RAM
Docker HubНенадёжен (блокировки РФ IP)
Ключевые выводы и краткая суть
  • После ограничений Docker Hub для российских IP иметь свой registry стало не опцией, а необходимостью.
  • Selectel Container Registry интегрирован с их managed K8s — образ подтягивается в pod без танцев с авторизацией.
  • Для небольших команд GitLab Container Registry в комплекте с GitLab CI — самый удобный вариант.
  • Self-hosted Harbor на VPS — бесплатно, но требует настройки TLS, сканера уязвимостей и мониторинга.

Почему Docker Hub уже не вариант для продакшна в РФ

С 2024 года Docker Hub периодически ограничивает доступ для российских IP-адресов. Даже если сегодня pull работает — завтра при деплое ваш Kubernetes может не скачать образ, и сервис ляжет. Для pet-проектов это неприятность, для коммерческих систем — катастрофа.

Решение простое: храните образы у себя. Либо в managed registry провайдера, либо в своём Harbor на VPS. Разовая настройка на полчаса — и вы больше не зависите от капризов чужих серверов.

Пример CI/CD пайплайна с приватным registry

Вот типичный сценарий: разработчик пушит код в GitLab, CI-пайплайн собирает Docker-образ, загружает его в приватный registry и обновляет деплой в Kubernetes. Весь путь от коммита до обновления на продакшне — 3 минуты.

.gitlab-ci.yml
# Пример пайплайна: сборка образа → push в registry → деплой
stages:
  - build
  - deploy

build:
  stage: build
  script:
    - docker build -t cr.selcloud.ru/my-project/app:$CI_COMMIT_SHA .
    - docker push cr.selcloud.ru/my-project/app:$CI_COMMIT_SHA

deploy:
  stage: deploy
  script:
    - kubectl set image deployment/app app=cr.selcloud.ru/my-project/app:$CI_COMMIT_SHA
    - kubectl rollout status deployment/app
Рекомендованные конфигурации по теме статьи

Проверенные серверы от надежных провайдеров

Весь каталог
Timeweb Cloud
Перейти
Хит цены
TI

Timeweb Cloud

Москва4.8

Cloud Start

CPU

1 ядер • 3.3 ГГц

RAM

1 ГБ

Диск

15 ГБ NVMe

Канал

200 Мбит/с

299 ₽/мес

TI

Timeweb Cloud

Москва4.8

Cloud Basic

CPU

2 ядер • 3.3 ГГц

RAM

2 ГБ

Диск

40 ГБ NVMe

Канал

200 Мбит/с

499 ₽/мес

152-ФЗ
SE

Selectel

Москва4.9

Cloud Lite 1

CPU

1 ядер • 2.6 ГГц

RAM

1 ГБ

Диск

10 ГБ SSD

Канал

200 Мбит/с

550 ₽/мес

Часто задаваемые вопросы (FAQ)

Сколько стоит хранение образов в managed registry?

У Selectel — от 100 ₽/ГБ в месяц. Для среднего проекта с 5–10 образами это выходит 200–500 ₽/мес. В GitLab — входит в тарифный план GitLab SaaS или бесплатно при self-hosted установке.

Можно ли использовать GitHub Container Registry (ghcr.io)?

Можно, если нет проблем с доступностью. Для open-source проектов ghcr.io бесплатен и работает стабильнее Docker Hub. Но для продакшна в РФ иметь локальный registry всё равно безопаснее.