Docker LinuxWindows

Docker: pull access denied — repository does not exist or may require authorization

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

Docker не может скачать образ: имя указано неверно, образ приватный и требует входа, либо тег не существует. Ниже — причины и порядок действий от простого к сложному.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Имя и тег
  5. Авторизация
  6. Compose и платформа

#Что означает ошибка

Сообщение
pull access denied for image, repository does not exist or may require 'docker login'

Ошибка pull access denied for ..., repository does not exist or may require authorization означает, что Docker не нашёл образ с таким именем в реестре или нет доступа. Причины: опечатка в имени, нужен docker login, приватный репозиторий, неверный тег или образ существует только локально.

Docker скрывает наличие приватных образов, поэтому текст ошибки одинаков для двух ситуаций.

Проверьте имя на Docker Hub и авторизацию.

Docker не может скачать образ: имя указано неверно, образ приватный и требует входа, либо тег не существует. Проверьте имя и выполните docker login.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Опечатка в имени образаИмя.Исправьте.
Приватный репозиторийНужен вход.docker login.
Нет такого тегаТег.Проверьте.
Лимиты Docker HubАнонимные.Войдите.

#Пошаговое решение

  1. Проверьте имя и тег образаВ терминале запишите точную команду docker pull, имя образа и тег из сообщения. Для Docker Hub проверьте репозиторий на официальной странице и правильность регистра/пространства имён: myorg/myapp:1.2 и myapp:1.2 — разные образы. Если тег не указан, Docker может попытаться использовать latest, которого у проекта может не быть. Не подставляйте чужие образы с похожими именами.
  2. Укажите хост реестраЕсли образ находится не на Docker Hub, команда должна содержать полный адрес реестра, например ghcr.io/organization/image:tag или registry.example.org/team/image:tag. Откройте документацию проекта и скопируйте точный адрес из раздела установки. Для приватного реестра уточните адрес сервера, требуемую сеть/VPN и доверенные сертификаты; не отключайте TLS-проверку ради скачивания.
  3. Выполните docker loginЕсли репозиторий приватный, откройте терминал и выполните docker login ghcr.io (домен замените фактическим). Введите имя пользователя и защищённый токен с минимальным правом чтения образов; для Docker Hub можно использовать поддерживаемый вход через браузер/токен. Не передавайте пароль в параметре -p в командной строке. После успешного входа повторите docker pull для ТОГО ЖЕ адреса образа; при отказе проверьте права доступа к проекту.
  4. Проверьте доступ к рееструДля диагностики сети используйте curl -I https://registry-1.docker.io/v2/ на Linux/macOS с сетевым доступом. Ответ HTTP 401 с заголовком аутентификации для API реестра может быть нормальным и доказывает достижимость узла; Could not resolve host/timeout указывают на DNS/маршрут/прокси. Если реестр корпоративный, проверьте его собственный адрес. Не путайте сетевую ошибку с запретом доступа к конкретному репозиторию.
  5. Проверьте архитектуру образаЕсли образ опубликован, но не загружается для текущего процессора, проверьте платформу командой docker info --format "{{.Architecture}}" и список поддерживаемых платформ через docker buildx imagetools inspect ПОЛНОЕ_ИМЯ:ТЕГ (если buildx установлен). Если manifest не содержит нужной архитектуры, запросите у владельца поддерживаемый образ; параметр --platform может запустить эмуляцию, но не создаст отсутствующий рабочий образ и повлияет на производительность.
  6. Вход в реестр образов
    Linux · Терминал (Bash)Команда
    Вход в реестр образов.
    docker login

#Имя и тег

Сверьте имя на hub.docker.com: официальные образы пишутся без пространства имён (nginx), остальные — пользователь/образ. Проверьте тег: docker pull nginx:1.27. Для других реестров укажите хост: ghcr.io/org/app:tag, registry.gitlab.com/group/project. Если вы собирали образ локально, он не может быть скачан — используйте docker images и build вместо image с pull.

#Авторизация

Для приватных репозиториев выполните docker login (или docker login ghcr.io -u USER, пароль — токен доступа с правом чтения пакетов). Проверьте ~/.docker/config.json на устаревшие данные: docker logout и войдите заново. В CI используйте секреты. Если вы в России, часть реестров может быть недоступна; проверьте доступность curl -I https://registry-1.docker.io/v2/ и зеркала.

#Compose и платформа

В docker-compose.yml проверьте image: и build:: при наличии build образ собирается локально, а pull_policy может мешать. Для Apple Silicon укажите platform: linux/amd64, если нужной архитектуры нет в манифесте. Лимиты Docker Hub для анонимных загрузок могут давать ошибку toomanyrequests: авторизуйтесь для повышения лимита.

Linux · Терминал (Bash)Команда
Не используйте пароль -p и не копируйте чужой образ вместо нужного
# Пример входа в GHCR; реестр подставьте фактический
docker login ghcr.io
# Пример публичного образа Docker Hub (НЕ проверка вашего приватного проекта)
docker pull nginx:1.27
curl -I https://registry-1.docker.io/v2/

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.