Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Container Registry
  • Начало работы
  • Yandex Container Solution
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Решение проблем
  • Вопросы и ответы
  • Обучающие курсы

Вопросы и ответы про Container Registry

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 февраля 2025 г.

Почему тег отсутствует или установлен не на последнем загруженном Docker-образе?Почему тег latestотсутствует или установлен не на последнем загруженном Docker-образе?

Потому что вы указали другой тег при загрузке Docker-образа.

Docker-клиент подставляет тег latest автоматически, если Docker-образ создается и загружается без тега. Также можно указать тег latest явно.

Важно

Тег latest не означает, что помеченная им версия Docker-образа была загружена последней.

Рекомендуется не перезаписывать теги, а использовать для каждой версии Docker-образа уникальный тег. Это позволяет использовать одну версию Docker-образа на всех ВМ с одинаковой спецификацией и облегчает поиск причины проблемы.

Как сделать реестр публичным?Как сделать реестр публичным?

Можно выдать роль container-registry.images.puller на ваш реестр для публичной группы All users.

Внимание

При этом все Docker-образы из этого реестра станут доступны без аутентификации.

Не назначайте публичной группе роли container-registry.images.pusher, editor и admin на реестр. Это позволит любому, кто узнает идентификатор вашего реестра, пользоваться им.

У меня возникла ошибка. Что делать?У меня возникла ошибка. Что делать?

Ознакомьтесь с информацией в разделе Решение проблем в Container Registry, где перечислены часто встречающиеся ошибки и способы их решения.

Я могу получить логи моей работы в сервисах?Я могу получить логи моей работы в сервисах?

Да, вы можете запросить информацию о работе с вашими ресурсами из логов сервисов Yandex Cloud. Подробнее читайте в разделе Запросы данных.

Что означает ошибка "Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock"?Что означает ошибка "Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock"?

Вы запускаете команды не от пользователя root.

Можете использовать sudo или настроить non-root доступ.

Как можно диагностировать работу Credential helper?Как можно диагностировать работу Credential helper?

  • Проверьте, от какого пользователя операционной системы и на каком хосте запускаются команды CLI. Это должен быть пользователь, для которого сконфигурирован Credential helper и от имени которого была запущена команда yc container registry configure-docker. Соответствующая запись при этом появляется в файле /home/<user>/.docker/config.json. Если вы выполняете действия на виртуальной машине, на ней тоже должен быть настроен Credential helper.

  • Проверьте, есть ли Credential helper в PATH при вызове команд. Когда происходит аутентификация в Container Registry при помощи Credential helper, Docker обращается к бинарному файлу docker-credential-yc. Необходимо, чтобы этот бинарный файл был в PATH для пользователя, который работает с Docker. Например, если Docker используется с sudo, то и configure-docker должен вызываться с sudo. Проверить можно командой echo cr.yandex | docker-credential-yc get или echo cr.yandex | sudo docker-credential-yc get, если команды вызываются из-под sudo. Если все работает, вывод будет вида {"Username":"iam","Secret":"***<IAM-токен>***"}.

  • Если команды работают в интерактивном режиме, но не работают в неинтерактивном, проверьте файл .bashrc. Программы yc и docker-credential-yc устанавливаются в директорию, которая обычно недоступна в дефолтном PATH. В файл .bashrc при этом прописываются следующие строки:

    # The next line updates PATH for Yandex Cloud CLI
    if [ -f '/home/<user>/yandex-cloud/path.bash.inc' ]; then source '/home/<user>/yandex-cloud/path.bash.inc'; fi
    

    В начале файла .bashrc есть условие, что прописанные там команды не выполняются в неинтерактивном режиме. Из-за этого команды могут работать при заходе на ВМ вручную, но не работать по SSH.

Что означает ошибка "Error response from daemon: pull access denied for <cr.yandex/идентификатор_реестра/имя_Docker-образа>, repository does not exist or may require 'docker login': denied: Permission denied ; requestId = <идентификатор_запроса>"?Что означает ошибка "Error response from daemon: pull access denied for <cr.yandex/идентификатор_реестра/имя_Docker-образа>, repository does not exist or may require 'docker login': denied: Permission denied ; requestId = <идентификатор_запроса>"?

Для IP-адреса, с которого идет запрос на скачивание Docker-образа, нет разрешения на скачивание (PULL).

Добавьте разрешающие правила для этого IP-адреса в настройках реестра или удалите все правила и повторите попытку.

Была ли статья полезна?

Предыдущая
Решение проблем
Следующая
Обучающие курсы
Проект Яндекса
© 2025 ООО «Яндекс.Облако»