<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

Реестр контейнеров

Реестр контейнеров (Container Registry) — это хранилище для Docker-образов. Он позволяет загружать, хранить и распространять образы, которые используются при запуске контейнеров в Kubernetes и других окружениях.

Создание реестра

Перейдите в раздел «Kubernetes» во вкладку «Реестры контейнеров» и нажмите кнопку «Создать» или «Добавить».

При создании укажите:

  • Регион размещения.
  • Объем хранилища — его можно будет увеличить позже. Уменьшить объем нельзя.
  • Имя реестра и проект. Имя должно быть уникальным, состоять из строчных латинских букв, цифр и дефисов, а также не содержать пробелов.

Screenshot 06 05 25 13:17:17

После создания отобразится токен — он используется для авторизации при работе с реестром. Токен отображается только один раз, обязательно сохраните его.

Screenshot 05 13 25 12:41:20

Если токен был утерян, вы можете выпустить новый в разделе «API и Terraform». Обратите внимание: если токен был создан для всех проектов, он предоставляет доступ ко всем реестрам на аккаунте. Если же токен был создан для конкретного проекта, доступ будет открыт ко всем реестрам внутри этого проекта. В случае компрометации токена удалите его в разделе «API и Terraform». Токен, созданный при создании реестра, начинается с registry-.

Обзор интерфейса

Дашборд

Отображает:

  • Занятый объем хранилища
  • Использование входящего и исходящего трафика
  • Команду для авторизации в реестре

Screenshot 05 14 25 12:04:58

Репозитории

Во вкладке «Репозитории» отображаются:

  • Список всех репозиториев в реестре
  • Образы внутри каждого репозитория
  • Теги и хеши образов

Selection 286

При нажатии на три точки рядом с образом или репозиторием вы можете:

  • Удалить образ
  • Удалить весь репозиторий

Настройки

В разделе вы можете изменить объем хранилища. Для этого нажмите «Изменить размер реестра», выберите нужный объем и сохраните изменения. Уменьшить размер нельзя.

Screenshot 05 14 25 12:06:53

Также в настройках можно изменить проект, к которому относится реестр.

История

Во вкладке «История» отображаются все действия, выполненные с реестром.

Авторизация

Для авторизации в реестре используйте команду, указанную в «Дашборде»:

docker login имя_реестра.registry.twcstorage.ru

После выполнения команды:

  • В качестве имени пользователя укажите любое значение (например, имя реестра)
  • При запросе пароля введите токен, полученный при создании реестра

Загрузка образа

Перед загрузкой нужно назначить тег, включающий адрес реестра и имя репозитория:

docker tag имя_образа:тег имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_образа:тег

Замените:

  • имя_образа — на название вашего локального образа. Если для образа используется тег, отличный от latest, укажите его явным образом.
  • имя_реестра — на имя, указанное при создании реестра.
  • имя_репозитория — на желаемое имя репозитория. При указании несуществующего имени, репозиторий с таким именем будет создан автоматически.
  • тег — на нужный тег, например v1.0 или latest.

После тегирования загрузите образ:

docker push имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_образа:тег

Скачивание образа

Скачать образ можно по тегу:

docker pull имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_образа:тег

Или по хешу:

docker pull имя_реестра.registry.twcstorage.ru/имя_репозитория@sha256:хеш

Управление реестром с помощью regctl

Управлять реестром можно не только через панель управления, но и с помощью сторонних CLI-инструментов. Один из наиболее удобных — это regctl, кроссплатформенная утилита для работы с реестрами.

Установка

Скачайте бинарный файл:

curl -L https://github.com/regclient/regclient/releases/latest/download/regctl-linux-amd64 -o regctl

Сделайте его исполняемым:

chmod +x regctl

Переместите в системную директорию:

sudo mv regctl /usr/local/bin/regctl

Проверьте установку:

regctl version

Авторизация

Для авторизации выполните команду:

regctl registry login имя_реестра.registry.twcstorage.ru \
  --user имя_пользователя \
  --pass токен

Где:

  • имя_реестра — имя, указанное при создании реестра
  • имя_пользователя — любое значение
  • токен — токен, выданный при создании реестра

После выполнения команды данные будут сохранены в ~/.regctl/config.json, и повторная авторизация не потребуется.

Использование

Получить список всех доступных команд:

regctl

Вывести список всех репозиториев:

regctl repo ls имя_реестра.registry.twcstorage.ru

Просмотр тегов образа:

regctl tag ls имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_образа

Получение информации об образе:

regctl image inspect имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_образа:тег

Удаление образа:

regctl image rm имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_образа:тег

Загрузка Helm-чартов

Реестр поддерживает спецификацию OCI (Open Container Initiative), поэтому вы можете хранить в нем не только Docker-образы, но и другие артефакты — например, Helm-чарты.

Сейчас для загрузки Helm-чартов можно использовать как helm, так и стороннюю утилиту oras.

Через Helm

Поддержка работы с OCI-реестрами появилась в helm начиная с версии 3.8.0 и считается стабильной с 3.9.0.

Авторизация

Для авторизации используйте команду:

helm registry login имя_реестра.registry.twcstorage.ru -u iam

В качестве пароля укажите токен, выданный при создании реестра.

Упаковка чарта

Перед загрузкой необходимо упаковать чарт:

helm package ./имя_чарта

В результате будет создан архив, например, mychart-0.1.0.tgz. Имя файла формируется на основе названия и версии из файла Chart.yaml.

Загрузка чарта

Для загрузки чарта используйте команду:

helm push имя_запакованного_чарта oci://имя_реестра.registry.twcstorage.ru/имя_репозитория

Helm автоматически определит имя чарта и версию из архива.

Скачивание чарта

Для скачивания чарта воспользуйтесь командой:

helm pull oci://имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_чарта --version тег

Через oras

Альтернативный способ загрузки чартов в реестр — с помощью утилиты oras, которая позволяет загружать любые файлы как артефакты OCI.

Установка

Перейдите на страницу релизов и скачайте архив для нужной ОС.

Либо воспользуйтесь wget. Например, для Linux:

wget https://github.com/oras-project/oras/releases/download/v1.2.3/oras_1.2.3_linux_amd64.tar.gz

Распакуйте архив:

tar -xvzf oras_1.2.3_linux_amd64.tar.gz

Переместите бинарный файл:

sudo mv oras /usr/local/bin/

Проверьте, что утилита работает:

oras version

Авторизация

Перед использованием необходимо авторизоваться в реестре:

oras login имя_реестра.registry.twcstorage.ru

После выполнения команды:

  • В качестве имени пользователя укажите любое значение (например, имя реестра).

  • При запросе пароля введите токен, полученный при создании реестра.

Загрузка чарта

Перед загрузкой необходимо упаковать чарт:

helm package ./имя_чарта

В результате будет создан архив, например, mychart-0.1.0.tgz. Имя файла формируется на основе названия и версии из файла Chart.yaml.

Теперь загрузите его в реестр:

oras push имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_чарта:тег имя_запакованного_чарта

Проверьте, что артефакт успешно загружен:

oras manifest fetch имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_чарта:тег

Команда выведет OCI-манифест с указанием типа артефакта, размера, хеша и других метаданных.

Скачивание 

Для скачивания артефакта при помощи oras воспользуйтесь командой:

oras pull имя_реестра.registry.twcstorage.ru/helm/mychart:1.0

Артефакт будет загружен в текущую директорию.

Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев