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.
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é
À 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.
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!
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.
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
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.
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.