En poussant l'image du docker (après une connexion réussie) de mon hôte, je reçois "non autorisé: authentification requise".
Détails ci-dessous.
-bash-4.2# docker login --username=asamba [email protected]
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
- Version Docker: 1.9.1 (client et serveur)
- http://hub.docker.com a également créé le dépôt (asamba / docker-whale).
Le / var / log / messages montre 403, je ne sais pas si ce docker. Voir ci-dessous.
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
Toute aide est appréciée, veuillez me le faire savoir si vous avez besoin de plus d'informations. J'ai aussi fait le push avec -f. Pas de chance!
Réponses:
Modifier (13/08/2017)
Basé sur le commentaire de @ KaraPirinc, dans la version 17 de docker pour se connecter (étape 1),
J'ai également eu le même problème, c'est ainsi que je le résous.
Étape 1: connectez-vous à Docker Hub
Étape 2: créez un référentiel dans le hub docker . disons " mysqlserver: sql ".
la source
docker login
fonctionne aussi sans les paramètresLa solution que vous avez publiée ne fonctionne pas pour moi ...
C'est ce qui fonctionne pour moi:
Créez le référentiel avec le nom souhaité.
Lors de la validation de l'image, nommez l'image comme le référentiel, y compris le nom d'utilisateur
<dockerusername>/desired-name
. Par exempleradu/desired-name
,.la source
D'ACCORD! ça ne fait rien; J'ai trouvé la solution. avec 403 Suspecté que le HTTP ne va pas à la bonne URL.
Modifiez le fichier contenant les identifiants de connexion stockés dans le fichier
~/.docker/config.json
par défaut généré parto - Notez le changement de docker.io -> index.docker.io/v1. Voilà le changement.
J'espère que cela pourra aider.
Notez que le champ d'authentification doit être "nom d'utilisateur: mot de passe" encodé en base64. Par exemple: "nom d'utilisateur: mot de passe" encodé en base64 est "dXNlcm5hbWU6cGFzc3dvcmQ ="
donc votre fichier contiendrait:
la source
sudo docker login -e [email protected] -u someuser -p somepass https://index.docker.io/v1/
docker login -u someuser https://index.docker.io/v1/
Cela demandera le mot de passe, l'empêchant de se retrouver dans l'historique des commandes.si vous utilisez heroku, assurez-vous de ne pas oublier de "heroku container: login" avant de pousser.
la source
Je rencontrais un problème similaire avec un message d'erreur tout aussi inutile, mais il s'est avéré que c'était parce que j'essayais de pousser une image que j'avais construite contre une instance gérée par docker-machine.
Lorsque je me suis connecté à l'instance elle-même, je l'ai fait
docker login
etdocker push
tout a bien fonctionné.la source
J'ai eu le même problème mais je l'ai corrigé avec push avec l'URL spécifiée. comme: connexion docker -u https://index.docker.io/v1/
sortie de la console:
la source
Bien que le processus standard consiste à se connecter puis à pousser vers le registre docker, l'astuce pour surmonter ce problème particulier consiste à se connecter en fournissant un nom d'utilisateur et un mot de passe dans la même ligne.
Alors :
Travaux
tandis que
Échoue
la source
Même si je me suis connecté et vérifié toute la configuration, cela ne fonctionne toujours pas !!!
Il s'est avéré que lorsque je construis mon docker, j'oublie de mettre mon nom d'utilisateur avant le nom du repo
(construire avec succès)
Et puis quand j'ai poussé vers mon référentiel, j'ai utilisé
Il montrera le
unauthorized authentication required
Donc, la solution est alors le nom de la construction et le push doit être exactement le même
la source
Le problème auquel les débutants sont confrontés est que nous avons tendance à traiter le référentiel Docker Hub comme un référentiel maven et à penser qu'il pourrait contenir de nombreux fichiers, dossiers et autres contenus différents.
Un référentiel docker, quant à lui, n'est qu'une seule image, il ne contient rien d'autre. Il peut contenir différentes versions de la même image, mais il ne contiendra qu'une seule image.
Alors, nommez votre référentiel sur Docker Hub du même nom que l'image que vous souhaitez y insérer et utilisez votre nom d'utilisateur dockerhub comme préfixe. Par exemple, si votre nom d'utilisateur est myusername et que le nom de votre image est docker-whale , assurez-vous de nommer votre référentiel dockerhub comme docker-whale et utilisez les commandes ci-dessous pour baliser et pousser votre image vers le référentiel:
la source
Si vous envoyez une nouvelle image privée pour la première fois, assurez-vous que votre abonnement prend en charge cette image supplémentaire.
Docker vous permet de nommer 6 images privées, même si vous n'en payez que 5, mais pas de pousser cette 6ème image. L'absence de message informatif est déroutante et irritante.
la source
Voici la solution pour mon cas (repos privé, plan de compte gratuit)
https://success.docker.com/Datacenter/Solve/Getting_%22unauthorized%3A_authentication_required%22_when_trying_to_push_image_to_DTR
Le nom de construction de l'image à pousser doit avoir le même nom que les dépôts.
Exemple: le repos sur docker hub est: accountName / resposName nom de construction de l'image "accountName / resposName" -> docker build -t accountName / resposName
puis tapez docker push accountName / resposName: latest
C'est tout.
la source
Ce qui a fonctionné pour moi a été de créer un nouveau référentiel et de renommer l'image avec
$ docker tag image_id myname/server:latest
la source
Assurez-vous d'avoir plus d'emplacements pour les images privées.
Dans mon cas, j'ai converti un utilisateur en organisation et il a perdu une image privée gratuite, donc les poussées précédentes qui fonctionnaient ne fonctionnaient plus.
la source
Mon problème était un jeton d'autorisation non valide après 5 minutes. La poussée a pris plus de 5 minutes en raison de la taille de l'image.
Je l'ai corrigé en augmentant la "Durée du jeton d'autorisation" à 10 minutes.
la source
docker login
dans une autre fenêtre de terminal peu de temps avant la fin du téléchargementAdmin Area -> Settings -> CI/CD -> Container Registry
. chemin url:/admin/application_settings/ci_cd
.Assurez-vous que le nom de votre référentiel Docker correspond au nom de votre référentiel Docker local. par exemple, disons si votre nom de dépôt local "kavashgar / nodjsapp"
alors vous devriez également avoir un nom de dépôt "kavashgar" dans le hub de docker
la source
dans votre fichier de configuration ~ / .docker / config.json add
où XXXXX est l'encodage base64 de votre nom d'utilisateur: mot de passe (le: est inclus) de https://hub.docker.com
dans mon cas, j'ai eu la même erreur avec une traction. le problème (sous Windows) a été provoqué par le double processus de fonctionnement de docker, donc tuez-les tous et redémarrez un service et cela fonctionne.
la source
Il y a déjà eu de bonnes réponses, mais je voudrais en mentionner une - Vous n'avez PAS besoin de créer un référentiel à l'avance avant de le pousser.
Le problème pour moi était que je n'ai pas défini le nom d'utilisateur correct du compte auquel je me suis connecté. Mais une fois que le nom d'utilisateur correct est défini avant l'image (par exemple
YOURNAME/YOURIMAGE
) via sa balise, vous pouvez le pousser sans créer un nouveau référentiel à l'avance.la source
Même problème ici, lors de la poussée de l'image:
Ce que j'ai fait:
Ce qu'il a imprimé:
Solution: utilisez la dernière syntaxe de connexion.
Il demandera à la fois le nom d'utilisateur et le mot de passe interactive. Ensuite, la poussée d'image fonctionne.
Même après avoir utilisé la nouvelle syntaxe, mon
~/.docker/config.json
ressemble à ceci après la connexion:Les informations d'identification se trouvent donc dans le trousseau de macOS.
la source
J'ai reçu une erreur similaire pour sudo docker push / sudo docker pull sur le référentiel ecr.C'est parce que aws cli est installé dans mon utilisateur (abc) et docker installé dans l'utilisateur root.J'ai essayé d'exécuter sudo docker push sur mon utilisateur (abc)
Correction de cela en installant aws cli en root, en configurant aws à l'aide de aws configure en root et en exécutant sudo docker push to ecr sur l'utilisateur root
la source
Essayez d'
docker logout
abord, puis reconnectez-vous avecdocker login
la source
Vous pouvez mv le fichier xxx / .docker / config.json quelque part pour le gérer. Ensuite, essayez de vous connecter à nouveau pour créer un nouveau fichier config.json.
la source
Si tu cours
windows 7 docker Registry
**Docker Quick Start terminal**
exécution (ce terminal active la connexion) Jusqu'à ce que vous ayez poussé des images, cela gardera le jeton en vie.docker login
Assurez-vous de marquer l'image avec le nom d'utilisateur
docker build -f Dockerfile -t 'username'/imagename
image push
docker image push username/imagename
Remarque : le nom de l'image est tout en minuscules
la source
J'avais un problème similaire.
J'ai découvert que même si je me connectais avec succès avec la
docker login
commande, toute extraction échouait. J'ai essayé de nettoyer le~/.docker/config.json
mais rien ne s'est amélioré.En regardant dans le fichier de configuration, j'ai vu que les informations d'identification n'étaient pas enregistrées là-bas mais dans un fichier
"credsStore": "secretservice"
. Sous Linux, il s'agit de l' outilseahorse
ouPasswords and Keys
. J'ai vérifié là-bas et je nettoie toutes les connexions du hub docker. Après cela, une nouvelle connexion Docker a fonctionné comme prévu.la source