web-dev-qa-db-fra.com

erreur Push de docker "refusé: l'accès demandé à la ressource est refusé"

Cette erreur se produit lors de la tentative d'envoi d'une image au référentiel public sur Docker Hub. J'ai essayé aucun des autres registres. 

J'ai consulté de nombreux sites et blogs, y compris StackOverflow, et il n’existe toujours pas de réponse claire.

Vous pouvez essayer de reproduire ce problème comme suit.

 Image on local Host

Comme le montre la capture d'écran ci-dessus, j'ai une image aspc-mvc-app sur l'hôte local de docker. Comme indiqué, il comporte 3 balises: 1.0.5, 1.0.5.latest et latest.

Supposons que nous essayons de diffuser en utilisant un nom de compte janedoe sur Docker Hub

Selon la documentation sur Docker.io et de nombreux autres sites, il y a 3 étapes pour pousser.

_ {(1) Login)

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

-> Je reçois Login Succeeded, ce qui est bien!

(2) Ajouter une ou plusieurs étiquettes

Sur les 3 balises, étiquetons simplement la latest.

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

-> L'invite revient sans erreur. Jusqu'ici tout va bien.

_ {(3) Push)

docker Push janedoe/aspc-mvc-app

-> C'est ici que l'erreur se produit.

Comme le montre la capture d'écran ci-dessous, les vérifications initiales semblent bien se dérouler jusqu'à ce que vous obteniez l'erreur refusé: l'accès demandé à la ressource est refusé

 enter image description here

À l'étape (2), j'ai essayé de nombreux autres formats, notamment les suivants.

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

Tous échouent avec la même erreur.

À titre de comparaison, avec la même image exacte, je n’ai eu aucun problème à accéder à Azure Container Registry.

Puisque Docker Hub est si populaire, quelqu'un peut-il nous éclairer sur le mystère ou savoir s'il existe une documentation détaillée n'importe où? 

Mise à jour le 09/05/2017

Je suis assez au courant des versions docker cli et serveur. En ce moment, mon client est 17.05.0-ce-rc1 et le serveur est 17.04.0-ce comme indiqué ci-dessous.

 enter image description here

13
SamDevx

La solution consiste simplement à changer le mode de connexion à l'étape (1).

docker login -u janedoe -p <password>

Tout le reste peut rester comme décrit ci-dessus. L'image a été poussée avec succès vers Docker Hub!

19
SamDevx

1) Commencez par vous connecter en tapant Sudo docker login dans le terminal. Entrez le nom d'utilisateur et le mot de passe

2) Visitez votre compte docker et créez un nouveau référentiel. Dans mon cas, j'ai créé un référentiel zawad1879/dockerhub

3) Supposons que vous avez une image de menu fixe avec le nom du référentiel: zawad/Django et la balise: latest .

Dans ce cas, vous devrez marquer cette image avec une étiquette de votre souhait. J'ai décidé de le taguer avec l'étiquette: myfirstimagepush . Vous marquez l'image en tapant la commande

Sudo docker tag zawad/Django:latest zawad1879/dockerhub:firstimagepush

4) Enfin, poussez l'image dans votre dépôt à l'aide de la commande

Sudo docker Push zawad1879/dockerhub:firstimagepush

C'est tout ce qu'on peut en dire.

11
Niamat Zawad

Moi aussi j'ai eu le même problème, mais après avoir essayé certaines combinaisons, cela a fonctionné.

Chaque fois que vous appuyez sur - cela fait référence à docker.io/ suivi du chemin du registre.

Dans mon cas, mon nom d’utilisateur est rushmith et j’ai créé un exemple de référentiel appelé docker sous rushmith.

Mon lien est: "hub.docker.com/r/rushmith/docker/"

Maintenant, j'ai créé un tag sur mon image que je veux pousser comme: rushmith/docker

Et cela a fonctionné avec succès.

$ docker login -u rushmith

(Donnez le mot de passe puis tapez comme ci-dessous)

$ docker Push rushmith/docker:latest

Sortie:

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
5
Nikhil Rushmith

Vous pouvez suivre les étapes suivantes:

Étape 1: docker login -u <username> -p <password>

Un message avec "Login Succeeded" apparaîtra, confirmant votre connexion réussie.

Étape 2: Maintenant, afin de pousser l'image, assurez-vous simplement que le chemin que vous utilisez doit avoir votre nom d'utilisateur inclus dans la balise.

par exemple, supposons que le lien soit: "hub.docker.com/u/xyz/" Créer une étiquette pour l'image en tant que docker Appuyez sur xyz/docker: latest .

Si vous avez déjà un tag différent, changez le en utilisant

docker tag <old tag> <new tag>

J'espère que cela t'aides.

1
Prashant Shubham

Créez un référentiel à partir d'un site web.

Il est possible que vous n'ayez pas la permission de créer un référentiel.

0
loopzilla