Ошибки

Docker: pull access denied, repository does not exist — почему образ не скачивается

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

Обновлено 10.10.2026≈ 3 мин чтения
Содержание 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.com

Docker спросит имя пользователя и пароль. Их выдаёт тот, кто управляет реестром: бывает, что вместо пароля нужен токен. Когда Docker сообщит об успешном входе, повторите свою команду с полным именем образа.

Если в сообщении слова no basic auth credentials — это тот же случай: реестр требует входа.

Как проверить

docker images

Образ должен появиться в списке. Затем запустите контейнер снова.

Тексты ошибок сверены с исходным кодом Docker 29.1.3 — эта версия ставится из пакетов Ubuntu 24.04. В Docker 28 и более старых версиях часть сообщений звучит иначе.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026