Ответ 1
Решение состоит в том, чтобы просто изменить способ входа в систему на этапе (1).
docker login -u janedoe -p <password>
Все остальное может оставаться таким, как описано выше. Изображение было успешно перенесено в Docker Hub!
Эта ошибка возникает при попытке направить изображение в общий репозиторий на Docker Hub. Не было никаких проблем с другими реестрами, которые я пробовал.
Я просмотрел многочисленные сайты, блоги, включая StackOverflow, и до сих пор нет четкого ответа.
Вы можете попытаться воспроизвести этот вопрос следующим образом.
Как показано на скриншоте выше, у меня есть изображение 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
→ Здесь происходит ошибка.
Как показано на скриншоте ниже, первоначальные проверки, похоже, происходят штрафом до тех пор, пока вы не получите сообщение об ошибке: запрошенный доступ к ресурсу отклонен
На шаге (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
как показано ниже.
Решение состоит в том, чтобы просто изменить способ входа в систему на этапе (1).
docker login -u janedoe -p <password>
Все остальное может оставаться таким, как описано выше. Изображение было успешно перенесено в Docker Hub!
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
Это все, что есть.
У меня тоже была такая же проблема, но после попытки некоторых комбинаций это сработало.
Всякий раз, когда вы нажимаете - это относится к 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
Вы можете выполнить следующие действия:
Шаг 1: docker login -u <username> -p <password>
Появится сообщение с "Login Succeeded", подтверждающее ваш успешный вход в систему.
Шаг 2. Теперь, чтобы нажать изображение, убедитесь, что путь, который вы используете, должен содержать ваше имя пользователя, включенное в тег.
например: Предположим, что ссылка: "hub.docker.com/u/xyz/" Создайте тег для изображения в качестве докера push xyz/docker: последний.
Если у вас уже есть несколько разных тегов, используйте команду
docker tag <old tag> <new tag>
Надеюсь это поможет.
Создайте репозиторий с веб-сайта.
Возможно, у вас нет разрешения на создание репозитория.
У меня такая же проблема, и она была решена путем запуска команды push с помощью sudo. Я думаю, что это только проблема привилегий.
sudo docker push janedoe/aspc-mvc-app