docker push error "denied: запрошенный доступ к ресурсу отклонен"

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

Я просмотрел многочисленные сайты, блоги, включая StackOverflow, и до сих пор нет четкого ответа.

Вы можете попытаться воспроизвести этот вопрос следующим образом.

Image on local host

Как показано на скриншоте выше, у меня есть изображение aspc-mvc-app на локальном хост-докере. Как показано, он имеет 3 1.0.5.latest - 1.0.5, 1.0.5.latest и latest.

Предположим, что мы пытаемся использовать имя учетной записи janedoe в Docker Hub

В документации Docker.io и многих других сайтах есть 3 шага к нажатию.

(1) Вход

docker login "index.docker.io" -u janedoe -p <password>

→ Я получаю Login Succeeded что хорошо!

(2) Добавьте один или несколько тегов

Из трех тегов можно просто пометить latest.

docker tag janedoe/aspc-mvc-app:latest janedoe/aspc-mvc-app

→ Запрос возвращается без ошибок. Все идет нормально.

(3) Толчок

docker push janedoe/aspc-mvc-app

→ Здесь происходит ошибка.

Как показано на скриншоте ниже, первоначальные проверки, похоже, происходят штрафом до тех пор, пока вы не получите сообщение об ошибке: запрошенный доступ к ресурсу отклонен

enter image description here

На шаге (2) я попробовал множество других форматов, включая следующее.

docker tag janedoe/aspc-mvc-app:latest janedoe/aspc-mvc-app:latest
docker tag janedoe/aspc-mvc-app janedoe/aspc-mvc-app:latest

docker tag aspc-mvc-app:latest janedoe/aspc-mvc-app
docker tag aspc-mvc-app janedoe/aspc-mvc-app:latest

docker tag 306a8fd79d88 janedoe/aspc-mvc-app
docker tag 306a8fd79d88 janedoe/aspc-mvc-app:latest

Все сбой происходит с той же ошибкой.

Для сравнения, с таким же точным изображением, я не испытывал никаких проблем с нажатием на Azure Container Registry.

Поскольку Docker Hub настолько популярен, может ли кто-нибудь пролить свет на тайну, или если есть подробная документация в любом месте?

Обновлено 5/9/2017

Я довольно доволен версиями докеров и серверов. Прямо сейчас, мой 17.05.0-ce-rc1 - 17.05.0-ce-rc1 а сервер - 17.04.0-ce как показано ниже.

enter image description here

Ответ 1

Решение состоит в том, чтобы просто изменить способ входа в систему на этапе (1).

docker login -u janedoe -p <password>

Все остальное может оставаться таким, как описано выше. Изображение было успешно перенесено в Docker Hub!

Ответ 2

1) Сначала войдите, набрав sudo docker login в терминале. Введите имя пользователя и пароль

2) Посетите свою учетную запись docker и создайте новый репозиторий. В моем случае я создал репозиторий zawad1879/dockerhub

3) Скажем, у вас есть изображение докеров с именем репозитория: zawad/django и tag: последним.

В этом случае вам нужно будет пометить это изображение ярлыком вашего желания. Я решил пометить его ярлыком: myfirstimagepush. Вы помечаете изображение, введя команду

sudo docker tag zawad/django:latest zawad1879/dockerhub:firstimagepush

4) Наконец нажмите изображение на свое репо, используя команду

sudo docker push zawad1879/dockerhub:firstimagepush

Это все, что есть.

Ответ 3

У меня тоже была такая же проблема, но после попытки некоторых комбинаций это сработало.

Всякий раз, когда вы нажимаете - это относится к docker.io/, за которым следует путь реестра.

В моем случае мое имя пользователя - rushmith, и я создал образец репозитория под названием docker под rushmith.

Моя ссылка: "hub.docker.com/r/rushmith/docker/"

Теперь я создал тег для своего изображения, который я хочу нажать как: rushmith/docker

И он успешно работал.

$ docker login -u rushmith

(Введите пароль, затем введите, как показано ниже)

$ docker push rushmith/docker:latest

Выход:

The push refers to a repository [docker.io/rushmith/docker]
7fbb0e1e64cb: Pushed
33f1a94ed7fc: Pushed 
b27287a6dbce: Pushed 
47c2386f248c: Pushed 
2be95f0d8a0c: Pushed 
2df9b8def18a: Pushed 
latest: digest: 
sha256:4d749d86b4a2d9304a50df474f6236140dc2d169b9aabc354cdbc6ac107390f2 size: 1569

Ответ 4

Вы можете выполнить следующие действия:

Шаг 1: docker login -u <username> -p <password>

Появится сообщение с "Login Succeeded", подтверждающее ваш успешный вход в систему.

Шаг 2. Теперь, чтобы нажать изображение, убедитесь, что путь, который вы используете, должен содержать ваше имя пользователя, включенное в тег.

например: Предположим, что ссылка: "hub.docker.com/u/xyz/" Создайте тег для изображения в качестве докера push xyz/docker: последний.

Если у вас уже есть несколько разных тегов, используйте команду

docker tag <old tag> <new tag>

Надеюсь это поможет.

Ответ 5

Создайте репозиторий с веб-сайта.

Возможно, у вас нет разрешения на создание репозитория.

Ответ 6

У меня такая же проблема, и она была решена путем запуска команды push с помощью sudo. Я думаю, что это только проблема привилегий.

sudo docker push janedoe/aspc-mvc-app