Быстрый старт
Для знакомства с сервисом Artifact Registry рассмотрим, как загрузить Docker-образ или Helm-чарт в репозиторий.
Перед началом работы
В личном кабинете перейдите в раздел Контейнеры.
Если у вас еще нет личного кабинета, зарегистрируйтесь.
Выберите сервис Artifact Registry.
Создать реестр
Реестр — каталог всех репозиториев проекта, в которых хранятся артефакты (Docker-образы и Helm-чарты).
В личном кабинете на стартовой странице сервиса Artifact Registry нажмите Создать реестр.
Укажите название реестра и нажмите Создать.
Название реестра станет частью URI реестра, который будет использоваться для аутентификации и работы с артефактами.
Пройти аутентификацию
Для работы с Artifact Registry необходимо пройти аутентификацию.
Получите персональные ключи доступа, если планируете работать с репозиторием самостоятельно. Или создайте сервисный аккаунт и получите получите ключи доступа к нему, если планируете организовать командную работу.
В личном кабинете перейдите в раздел Реестры и скопируйте URI реестра.
URI реестра имеет вид:
<registry_name>.cr.cloud.ru
.Запустите Docker CLI или любой привычный терминал на вашем компьютере.
Для аутентификации используйте команду в следующем формате:
docker login <registry_name>.cr.cloud.ru -u <key_id> -p <key_secret>
Где:
<registry_name>.cr.cloud.ru
— URI реестра, сгенерированный на этапе создания реестра.<key_id>
— логин сервисного аккаунта или персонального ключа (Key ID).<key_secret>
— пароль сервисного аккаунта или персонального ключа (Key Secret).
В личном кабинете перейдите в раздел Реестры и скопируйте URI реестра.
URI реестра имеет вид:
<registry_name>.cr.cloud.ru
.Запустите Helm CLI.
Для аутентификации используйте команду в следующем формате:
helm registry login <registry_name>.cr.cloud.ru -u <key_id> -p <key_secret>
Где:
<registry_name>.cr.cloud.ru
— URI реестра, сгенерированный на этапе создания реестра.<key_id>
— логин сервисного аккаунта или персонального ключа (Key ID).<key_secret>
— пароль сервисного аккаунта или персонального ключа (Key Secret).
Загрузить артефакт
Запустите Docker CLI или любой привычный терминал на вашем компьютере.
Присвойте образу тег. Например:
docker tag helloworld:v1 <registry_name>.cr.cloud.ru/helloworld:v1
Где:
<registry_name>.cr.cloud.ru
— URI реестра, в котором находится репозиторий.helloworld
— название репозитория (соответствует названию загружаемого образа).v1
— тег образа. Если вы загружаете образ с уже существующим в репозитории тегом, то он будет удален со старого образа и присвоен новому образу.
Примечание
Если вы работаете с образами для Windows-контейнеров, то перед загрузкой в репозиторий настройте Docker Daemon. В файле
daemon.json
укажите параметрallow-nondistributable-artifacts
со значением URI репозитория, например:{ "allow-nondistributable-artifacts" : ["1e033663-c54c-474c-863e-74677d1e77.cr.cloud.ru"] }
Если этот параметр не указан, то при попытке загрузить образ для Windows-контейнера появится ошибка «Error response from daemon get https://… connection refused».
Загрузите образ в репозиторий:
docker push <registry_name>.cr.cloud.ru/helloworld:v1
Создайте Helm-чарт, используя инструкцию из официальной документации Helm.
Загрузите Helm-чарт в репозиторий Artifact Registry. Пример команды:
helm push helloworld-0.1.0.tgz oci://<registry_name>.cr.cloud.ru/helloworld
Где:
<registry_name>.cr.cloud.ru>
— URI реестра, в котором находится репозиторий.helloworld
— название репозитория (соответствует названию загружаемого чарта).
См.также
Продолжайте изучать возможности сервисов — выполняйте лабораторные работы Cloud.ru Labs и получайте практические навыки развертывания контейнерных приложений в облаке.
для Dev & Test