Docker: pull access denied, repository does not exist — почему образ не скачивается
Docker не нашёл образ ни у себя, ни в реестре. Дело бывает в имени: опечатка или образ, который собирали на другом компьютере. Ниже — как найти причину.
Содержание 8
Как выглядит ошибка
Unable to find image 'myapp:latest' locally
docker: Error response from daemon: pull access denied for myapp, repository does not exist or may require 'docker login'
Run 'docker run --help' for more informationПервая строка — на сервере нет образа myapp. Тогда Docker пытается скачать его из реестра — хранилища образов. Вторая строка — в реестре такого образа нет или он закрыт.
latest Docker подставляет сам, когда тег — часть имени после двоеточия — не указан.
Причина 1. Образ собран на другом компьютере
Если вы собрали образ myapp на своём компьютере, на сервере его нет: образы не переезжают вместе с файлами проекта. Docker не находит его на сервере и ищет в общем реестре Docker Hub, а там образа с таким именем нет.
Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне. Проверьте, какие образы есть на сервере:
docker imagesЕсли вашего образа в колонке REPOSITORY нет, соберите его прямо на сервере. Скопируйте туда папку проекта с файлом Dockerfile, перейдите в неё и выполните:
docker build -t myapp .Точку в конце не пропускайте. Если образ собирается через compose.yaml, в папке проекта выполните docker compose up -d --build.
Причина 2. Опечатка в имени
Сравните имя в команде с тем, что в колонке REPOSITORY у docker images или на странице образа в реестре. Важна каждая буква: имена пишутся строчными, косая черта и дефис — тоже часть имени.
Причина 3. Нет такого тега
Если имя верное, а тег — например, номер версии — такого нет, в сообщении будут имя образа с тегом и слова not found. Проверьте список тегов на странице образа в реестре и укажите существующий.
Причина 4. Образ закрыт
Образы из закрытого реестра — например, реестра вашей компании — скачиваются только после входа. Полное имя такого образа начинается с адреса реестра:
registry.example.com/team/app:1.0Войдите в этот реестр:
docker login registry.example.comDocker спросит имя пользователя и пароль. Их выдаёт тот, кто управляет реестром: бывает, что вместо пароля нужен токен. Когда Docker сообщит об успешном входе, повторите свою команду с полным именем образа.
Если в сообщении слова no basic auth credentials — это тот же случай: реестр требует входа.
Как проверить
docker imagesОбраз должен появиться в списке. Затем запустите контейнер снова.
Тексты ошибок сверены с исходным кодом Docker 29.1.3 — эта версия ставится из пакетов Ubuntu 24.04. В Docker 28 и более старых версиях часть сообщений звучит иначе.
Источники
- Исходный код Docker CLI 29.1.3: create.go — строка Unable to find image … locally.
- Исходный код Docker 29.1.3: image_pull.go — текст pull access denied.
- Исходный код Docker 29.1.3: errors.go — тексты not found для образов.
- Документация Docker: docker run — публикация портов, флаг --rm и коды выхода.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026