Мигрировать Docker-образы в Container Registry
Вы можете копировать и синхронизировать Docker-образы в Container Registry Selectel с помощью regsync.
regsync копирует Docker-образы из одного реестра в другой или держит их синхронизированными по расписанию. Вы можете перенести все репозитории и теги в Container Registry Selectel, если исходный провайдер не умеет реплицировать образы во внешние реестры. Исходный реестр все это время продолжает работать, у него нет простоя.
1. Установить regsync
Установите regsync. Используйте инструкцию Installing официальной документации regclient.org.
Запускать regsync можно как бинарный файл или в Docker-контейнере.
2. Настроить regsync
-
Откройте CLI.
-
Откройте файл
regsync.ymlв текстовом редакторе. -
Задайте параметры переноса Docker-образов. Полный справочник параметров в подразделе Configuration File инструкции [regsync] официальной документации.
Пример переноса из Yandex Container Registry в Container Registry Selectel
creds:
- registry: cr.yandex
user: iam
pass: '<iam_token>'
- registry: cr.selcloud.ru
user: token
pass: '<selectel_token>'
defaults:
parallel: <images_number>
schedule: "<schedule>"
sync:
- source: cr.yandex/REGISTRY_ID/myapp
target: cr.selcloud.ru/my-registry/myapp
type: repository
fastCopy: true
- source: cr.yandex/REGISTRY_ID/devops/backup-tool
target: cr.selcloud.ru/my-registry/devops/backup-tool
type: repository
fastCopy: true
- source: cr.yandex/REGISTRY_ID/project/backend
target: cr.selcloud.ru/my-registry/project/backend
type: repository
fastCopy: true
Укажите:
<iam_token>— IAM-токен пользователя Yandex Cloud;<selectel_token>— IAM-токен пользователя Selectel. Можно скопировать в панели управления: в правом верхнем углу откройте меню (номер аккаунта) → Профиль → раздел Доступ → вкладка IAM-токен → нажмите Скопировать;<images_number>— количество образов, которые нужно копировать одновременно;<schedule>— расписание для режима server (cron). Например,0 * * * *— раз в чаc. Расписание при необходимости задается отдельно для каждого источника.
3. Перенести Docker-образы
-
Откройте CLI.
-
Укажите режим работы regsync:
regsync once- синхронизирует все образы один раз и завершает работу;regsync once --missing- копирует только теги, которых нет в целевом реестре. Подходит, если теги неизменяемые или устаревший контент не важен;regsync check- показывает, какие образы нужно синхронизировать, но ничего не копирует;regsync server- работает постоянно: сначала копирует все недостающие теги, потом синхронизирует по расписанию.
-
Посмотрите, что нужно скопировать:
regsync check -c regsync.yml -
Выполните первичное копирование:
regsync once -c regsync.yml -
Если в исходный реестр до переключения продолжают приходить новые образы, включите синхронизацию по расписанию:
regsync server -c regsync.yml -
Переключите CI/CD и манифесты приложений на адреса образов в Container Registry Selectel.
-
Выполните финальную синхронизацию и остановите regsync.