Начало работы

Перед началом работы ознакомьтесь с базовыми концепциями, используемыми при работе с модулем Docker registry.

В этой инструкции рассмотрим основы работы с Docker registry.

Установка Docker Desktop

Docker Desktop — это устанавливаемое ПО, которое позволяет запускать стандартные команды для работы в Docker registry. Наличие Docker Desktop — минимальное требование для реализации любых дальнейших сценариев использования модуля (поддерживает Docker registry HTTP API V2).

Создание workspace / Переключение в нужный workspace

Создание нового workspace описано в разделе. Для переключения в нужный workspace выберите его из раскрывающегося списка в шапке платформы Кнопка шапки платформы. При переходе в Docker registry пользователь попадает на стартовую страницу раздела (подробнее см. Навигация).

Аутентификация в Docker registry

Перед началом работы аутентифицируйтесь в Docker registry из консоли с помощью команды:

docker login cr.msk.sbercloud.ru --username example@example.com --password examplepsswd

где параметр example@example.com — это email пользователя, а examplepsswd — ключ, однократно передаваемый пользователю при нажатии на кнопку Сгенерировать ключ для Docker CLI.

Подсказка

Если в Docker registry нет загруженных образов, вместо Кнопка сервиса Docker registry виден значок Кнопка для обновления пароля в Docker registry. Для последующего изменения ключа необходимо сгенерировать новый, нажав на кнопку Сгенерировать ключ для Docker CLI.

Базовые действия по работе с образами

С образами в Docker registry можно выполнить следующие действия:

  • Скачать образ из Docker registry.

    docker pull cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda10.0-tf1.15.0-gpu-mlspace:latest
    

    Эта команда позволяет скачать из Docker registry образ с именем jupyter-cuda10.0-tf1.15.0-gpu-mlspace и тегом latest.

  • Тегировать образ. Образ, которому нужно присвоить тег, должен быть доступен локально. Подробнее о назначение тегов см. Просмотр Docker-образа в реестре. Команду для присваивания тега просмотрите, нажав Push command в Docker registry.

    docker tag cr.msk.sbercloud.ru/aicloud-jupyter/jupyter-cuda10.0-tf1.15.0-gpu-mlspace:latest cr.msk.sbercloud.ru/8e8e634a-ad58-47e8-b8ab-483c5860f2c8/jupyter-cuda10.0-tf1.15.0-gpu-mlspace:test_tag
    

    Эта команда позволяет установить тег test_tag образу с именем jupyter-cuda10.0-tf1.15.0-gpu-mlspace вместо тега latest.

  • Загрузить образ в Docker registry. Команду для загрузки тега просмотрите, нажав Push command в Docker registry.

    docker push cr.msk.sbercloud.ru/8e8e634a-ad58-47e8-b8ab-483c5860f2c8/jupyter-cuda10.0-tf1.15.0-gpu-mlspace:test_tag
    

    Эта команда позволяет загрузить образ jupyter-cuda10.0-tf1.15.0-gpu-mlspace с тегом test_tag в Docker registry.

Удаление подписанных артефактов

Если образ имеет подписи командой docker trust signer add и его требуется удалить, нужно выполнить следующие пункты и после их выполнения удалить образ:

  1. export DOCKER_CONTENT_TRUST=1 && export DOCKER_CONTENT_TRUST_SERVER=https://cr.msk.sbercloud.ru:4443 # registry в котором нужно подписать образ
    
  2. docker trust key generate <key-name> # генерация ключа, которым нужно подписать
    
  3. docker tag <local image:tag> <remote-repository-with-tag> # тегирование образа
    
  4. docker trust signer add --key <key-name>.pub <any-key-name> <remote-repository-with-tag> # добавляем подписывающего
    
  5. docker trust sign <remote-repository-with-tag> # подписываем образ
    
  6. docker push <remote-repository-with-tag> # повторно загружаем образ, в противном случае, образ останется с signed: false