При отправке образа докера (после успешного входа в систему) с моего хоста я получаю сообщение «unauthorized: authentication required».
Подробности ниже.
-bash-4.2# docker login --username=asamba --email=anand.sambamoorthy@gmail.com
WARNING: login credentials saved in /root/.docker/config.json
*Login Succeeded*
-bash-4.2#
-bash-4.2# docker push asamba/docker-whale
Do you really want to push to public registry? [y/n]: y
The push refers to a repository [docker.io/asamba/docker-whale] (len: 0)
faa2fa357a0e: Preparing
unauthorized: authentication required
- Версия Docker: 1.9.1 (как клиент, так и сервер)
- http://hub.docker.com также создал репозиторий (asamba / docker-whale).
В / var / log / messages отображается 403, я не знаю, есть ли этот докер. Увидеть ниже.
Apr 16 11:39:03 localhost journal: time="2016-04-16T11:39:03.884872524Z" level=info msg="{Action=push, Username=asamba, LoginUID=1001, PID=2125}"
Apr 16 11:39:03 localhost journal: time="2016-04-16T11:39:03.884988574Z" level=error msg="Handler for POST /v1.21/images/asamba/docker-whale/push returned error: Error: Status 403 trying to push repository asamba/docker-whale to official registry: needs to be forced"
Apr 16 11:39:03 localhost journal: time="2016-04-16T11:39:03.885013241Z" level=error msg="HTTP Error" err="Error: Status 403 trying to push repository asamba/docker-whale to official registry: needs to be forced" statusCode=403
Apr 16 11:39:05 localhost journal: time="2016-04-16T11:39:05.420188969Z" level=info msg="{Action=push, Username=asamba, LoginUID=1001, PID=2125}"
Apr 16 11:39:06 localhost kernel: XFS (dm-4): Mounting V4 Filesystem
Apr 16 11:39:06 localhost kernel: XFS (dm-4): Ending clean mount
Apr 16 11:39:07 localhost kernel: XFS (dm-4): Unmounting Filesystem
Любая помощь приветствуется, пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Я тоже сделал толчок с -f. Не повезло!
Ответы:
Изменить (13.08.2017)
Основываясь на комментарии @ KaraPirinc, в версии 17 докера для входа в систему (шаг 1),
У меня тоже была такая же проблема, вот как я ее решаю.
Шаг 1: войдите в Docker Hub
Шаг 2: создайте репозиторий в Docker Hub . скажем " mysqlserver: sql ".
источник
docker login
также работает без параметровОпубликованное вами решение не работает для меня ...
Вот что у меня работает:
Создайте репозиторий с желаемым именем.
При фиксации изображения назовите изображение как репозиторий, включая имя пользователя
<dockerusername>/desired-name
. Например,radu/desired-name
.источник
ХОРОШО! неважно; Я нашел решение. с 403 Предполагается, что HTTP не переходит на правильный URL.
Измените файл, в котором хранятся учетные данные для входа,
~/.docker/config.json
с созданного по умолчанию изto - обратите внимание на изменение docker.io -> index.docker.io/v1. Это изменение.
Надеюсь, это поможет.
Обратите внимание, что в поле аутентификации должно быть указано «имя пользователя: пароль» в кодировке base64. Например: «имя пользователя: пароль» в кодировке base64: «dXNlcm5hbWU6cGFzc3dvcmQ =»
поэтому ваш файл будет содержать:
источник
sudo docker login -e me@example.com -u someuser -p somepass https://index.docker.io/v1/
docker login -u someuser https://index.docker.io/v1/
это запросит пароль, чтобы он не попал в историю команд.если вы используете heroku, убедитесь, что вы не забыли "heroku container: login" перед нажатием.
источник
У меня возникла аналогичная проблема с таким же бесполезным сообщением об ошибке, но это оказалось из-за того, что я пытался протолкнуть созданный мной образ на управляемый экземпляр док-машины.
Когда я зашел в сам экземпляр, сделал,
docker login
иdocker push
все заработало .источник
У меня была такая же проблема, но я исправил ее нажатием с указанным URL. как: docker login -u https://index.docker.io/v1/
вывод консоли:
источник
Хотя стандартный процесс состоит в том, чтобы войти в систему, а затем отправить ее в реестр докеров, уловка для решения этой конкретной проблемы заключается в том, чтобы войти, указав имя пользователя и пароль в одной строке.
Так :
Работает
в то время как
Терпит неудачу
источник
Даже я авторизовался и проверил всю конфигурацию, все равно не работает !!!
Оказалось, что когда я собираю свой докер, я забываю поставить свое имя пользователя перед именем репо.
(сборка успешно)
А затем, когда я перешел в свой репозиторий, я использовал
Он покажет
unauthorized authentication required
Итак, решение - это имя сборки, и нажатие должно быть точно таким же
источник
Проблема, с которой сталкиваются новички, заключается в том, что мы склонны относиться к репозиторию Docker Hub как к репозиторию maven и думать, что он может содержать много разных файлов, папок и другого содержимого.
С другой стороны, репозиторий докеров - это всего лишь один образ, он не содержит ничего другого. Он может содержать разные версии одного и того же изображения, но будет содержать только одно изображение.
Итак, назовите свой репозиторий в Docker Hub тем же именем, что и изображение, которое вы хотите вставить в него, и используйте свое имя пользователя dockerhub в качестве префикса. Например, если ваше имя пользователя - myusername, а имя вашего изображения - docker-whale , обязательно назовите свой репозиторий dockerhub как docker-whale и используйте следующие команды, чтобы пометить и отправить свое изображение в репозиторий:
источник
Если вы впервые отправляете новый частный образ, убедитесь, что ваша подписка поддерживает это дополнительное изображение.
Docker позволяет вам иметь 6 личных образов по имени, даже если вы платите только за 5, но не продвигать этот 6-й образ. Отсутствие информативного сообщения сбивает с толку и раздражает.
источник
Вот решение для моего случая (частные репозитории, бесплатный тарифный план)
https://success.docker.com/Datacenter/Solve/Getting_%22unauthorized%3A_authentication_required%22_when_trying_to_push_image_to_DTR
Имя сборки образа для отправки должно совпадать с именем репозитория.
Пример: репозитории на концентраторе докеров: accountName / resposName имя сборки образа "accountName / resposName" -> docker build -t accountName / resposName
затем введите docker push accountName / resposName: latest
Вот и все.
источник
Для меня сработало создание нового репозитория и переименование изображения с помощью
$ docker tag image_id myname/server:latest
источник
Убедитесь, что у вас есть больше слотов для личных изображений.
В моем случае я преобразовал пользователя в организацию, и он потерял одно бесплатное частное изображение, поэтому предыдущие нажатия, которые работали, больше не работали.
источник
Моя проблема заключалась в неверном токене авторизации через 5 минут. Пуш из-за размера изображения занял более 5 минут.
Я исправил это, увеличив "Продолжительность токена авторизации" до 10 минут.
источник
docker login
в другом окне терминала незадолго до завершения загрузкиAdmin Area -> Settings -> CI/CD -> Container Registry
. Путь URL:/admin/application_settings/ci_cd
.Убедитесь, что имя вашего репозитория докеров совпадает с именем локального репозитория докеров. например, скажем, если ваше локальное репо имя "kavashgar / nodjsapp"
тогда у вас также должно быть имя репо "kavashgar" в докере
источник
в вашем файле конфигурации ~ / .docker / config.json добавьте
где XXXXX - это кодировка base64 вашего имени пользователя: пароль (включен :) на https://hub.docker.com
в моем случае у меня была такая же ошибка с вытягиванием. проблема (под окнами) была спровоцирована двойным запущенным процессом докера, поэтому убейте их всех и перезапустите одну службу, и она работает.
источник
Уже были хорошие ответы, но я хотел бы упомянуть об одном - вам НЕ нужно создавать репозиторий заранее, прежде чем отправлять его.
Проблема для меня заключалась в том, что я не установил правильное имя пользователя учетной записи, в которую вошел. Но как только правильное имя пользователя устанавливается перед изображением (например
YOURNAME/YOURIMAGE
) через его тег, вы можете нажать ее без создания нового хранилища заранее.источник
Такая же проблема здесь, при нажатии изображения:
Что я сделал:
Что напечатано:
Решение: используйте последний синтаксис входа в систему.
Он будет запрашивать имя пользователя и пароль в интерактивном режиме. Тогда толчок изображения просто работает.
Даже после использования нового синтаксиса my
~/.docker/config.json
выглядит так после входа в систему:Таким образом, учетные данные находятся в связке ключей macOS.
источник
Я получил аналогичную ошибку для sudo docker push / sudo docker pull в репозитории ecr. Это связано с тем, что aws cli установлен у моего пользователя (abc), а докер установлен у пользователя root. Я попытался запустить sudo docker push для моего пользователя (abc)
Исправлено, установив aws cli в корневом каталоге, настроив aws с помощью aws configure в корневом каталоге и запустите sudo docker push to ecr для пользователя root
источник
docker logout
Сначала попробуйте , а затем снова войдите сdocker login
источник
Вы можете mv файл xxx / .docker / config.json где-нибудь для обработки. Затем попробуйте снова войти в систему, чтобы создать новый файл config.json.
источник
Если ты бежишь
windows 7 docker Registry
**Docker Quick Start terminal**
запуск (этот терминал разрешает соединение), пока вы не нажмете изображения, токен будет оставаться в живых.docker login
Убедитесь, что вы пометили изображение именем пользователя
docker build -f Dockerfile -t 'username'/imagename
нажать изображение
docker image push username/imagename
Примечание : имя изображения все в нижнем регистре
источник
У меня была похожая проблема.
Я обнаружил, что даже если я успешно вхожу в систему с помощью
docker login
команды, любое извлечение не удалось. Я попытался очистить,~/.docker/config.json
но ничего не улучшилось.Заглянув в файл конфигурации, я увидел, что учетные данные были сохранены не там, а в файле
"credsStore": "secretservice"
. В Linux это инструментseahorse
илиPasswords and Keys
. Я проверил там и очищаю все логины в докере. После этого новый логин в докере работал должным образом.источник
Я пробовал все методы, которые могу найти в Интернете, и потерпел неудачу. Затем я прочитал этот пост и почерпнул некоторые идеи из ответа @Alex. Затем я ищу "" credsStore ":" osxkeychain "", который используется в моем config.json. Я перехожу по этой ссылке https://docs.docker.com/engine/reference/commandline/login/, чтобы выйти из системы, а затем снова войти в систему. Наконец, я могу успешно продвигать свое изображение.
источник