Je suis en train de suivre ce lien pour créer ma première image Docker et ça s'est bien passé et maintenant j'essaie de pousser cette image dans mon référentiel Docker à partir de ce lien . Mais chaque fois que j'essaie de pousser cette image dans le référentiel, j'ai ce type d'erreur.
denied: requested access to the resource is denied
Quelqu'un pourrait-il me donner un indice sur ce problème? Toute aide serait appréciée.
Remarque: J'ai réussi à me connecter à Docker
docker
dockerfile
Keyur Shah
la source
la source
Réponses:
Vous devrez peut-être basculer votre dépôt Docker sur privé avant de le pousser.
Merci à la réponse fournie par Dean Wu et à ce commentaire de ses , avant de pousser, pensez à vous déconnecter , puis connectez-vous depuis la ligne de commande à votre compte hub docker
Selon les documents :
Donc, cela signifie que vous devez marquer votre image avant de pousser:
et alors vous devriez pouvoir le pousser.
la source
[host]/[namespace]/[repo]
et toujours la même erreur (ce qui signifie que j'ai des organisations et mon compte comme espace de noms). Même essayédocker login ...
. Je ne peux pas pousser: - |J'ai eu le même problème en suivant le cours Docker pour débutant. J'ai résolu le problème en effectuant un
docker login
appel avant le docker push.la source
docker login
.sudo docker login
travaillé pour moi. Cela m'a permis de pousser mon repo privé.J'ai eu le même problème, mais la réponse acceptée donnée ici n'a pas fonctionné pour moi. J'ai essayé quelques étapes et j'ai pu me déplacer pour finalement le pousser. J'espère que cela aide quelqu'un.
Voici les étapes qui ont fonctionné pour moi:
1) Connectez-vous au docker.
2) Marquez la création de votre image
mon nom d'image est ici: mylocalimage et par défaut, il a la balise: latest
et mon nom d'utilisateur est: sirimalla comme enregistré avec le docker cloud, et j'ai créé un référentiel public nommé: dockerhub
donc mon dépôt personnel devient maintenant: sirimalla / dockerhub et je veux pousser mon image avec le tag:
myfirstimagepush
J'ai marqué comme ci-dessous:
3) Poussé l'image vers mon référentiel de docker personnel comme ci-dessous
Et cela a réussi à être transféré vers mon dépôt personnel de docker.
la source
docker login
. Jusqu'à arriver à ce fil, je ne savais pasdocker login
.Il est également important de noter que lorsque vous marquez votre image, vous la marquez en utilisant l' espace de noms , puis votre référentiel / mydevrepo . Cela m'a dérouté lorsque j'ai suivi les documents Docker. Après cela, j'ai utilisé:
Et puis j'ai poussé mon image en utilisant le «nom balisé» .
la source
Utilisez les commandes ci-dessous:
Par exemple, j'ai un référentiel public comme manjeet86 / docker-repo, donc les commandes seraient:
Voir juste
:
au lieu de/
cela était l'astuce. Ça marche pour moi. Je ne sais pas si cela vous permet de taguer/
aussi bien à la place de:
mais cela peut être dans un autre but.https://docs.docker.com/engine/reference/commandline/tag/#examples
la source
:
au lieu de/
, merci.La façon dont Docker gère les ID utilisateur et les référentiels peut être un peu déroutante. Supposons que vous créez un compte utilisateur xyz sur le docker hub. Le nouveau compte établit automatiquement un espace de noms
xyz
. Ensuite, vous créez un référentiel appelé myrepo. Le nom du référentiel sera en faitxyz/myrepo
.Pour pousser une image, vous devez faire:
Vous pouvez ajouter ": latest" ou une balise différente si nécessaire.
Si vous obtenez le
requested access to the resource is denied
message d'erreur:la source
Je ne sais pas ce qui est arrivé au docker hub, mais aucune des solutions publiées n'a fonctionné pour moi. Voici la solution de contournement qui a fini par fonctionner pour moi en janvier 2018:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE verse_gapminder_gsl latest 023ab91c6291 3 minutes ago 1.975 GB verse_gapminder latest bb38976d03cf 13 minutes ago 1.955 GB rocker/verse latest 0168d115f220 3 days ago 1.954 GB
docker tag bb38976d03cf dockhubusername/verse_gapminder:mytag
docker login docker.io
docker push dockhubusername/verse_gapminder:mytag
la source
Docker a également une limite sur le nombre de référentiels privés que vous pouvez avoir. Si vous créez un référentiel privé en poussant à partir de votre machine locale, il créera le référentiel mais rien de plus ne pourra y être poussé ou retiré, et vous obtiendrez l'erreur "l'accès demandé à la ressource est refusé".
la source
OS: Ubuntu16.04
Raison: j'ai supprimé le fichier de configuration du client ( ~ / .docker / config.json )
Solution:
redémarrage du docker de service .
connexion docker --username = yourdockerhubername [email protected]
la source
docker login https://index.docker.io/v1/ -u=yourusername
Mon problème était très simplement d'utiliser des caractères non valides (un extra /) dans mon nom d'image:
est un nom d'image non valide. Essayez mon nom d'utilisateur / quelque chose-image. J'espère que cela aide quelqu'un.
la source
__
.J'ai eu le même problème aujourd'hui. La seule chose qui a fonctionné pour moi a été de se connecter explicitement à "docker.io" :
J'ai essayé divers autres noms et la connexion semble fonctionner, mais cela entraînera plus tard l'erreur suivante.
la source
docker login
sans succès, mais l'explicitedocker.io
à la fin a fait l'affaire.J'étais aussi avec ce problème, j'ai testé les solutions ici présentes mais en vain, j'étais correctement connecté, au moins en fonction de la sortie de
docker login
mais je ne pouvais toujours pas pousser l'image. Ce qui a finalement fonctionné était simplement de faire:docker logout
Et là
docker login
encore, c'était si insignifiant. Je ne sais pas ce qui s'est passé, mais forcer la reconnexion a fonctionné.la source
Si vous rencontrez ce problème lors de l'utilisation d'Azure Container Registry, vous pouvez le résoudre en vous connectant d'abord à votre registre.
Et puis marquez votre image pour qu'elle corresponde au nom d'hôte de votre registre.
Et enfin, poussez-le.
la source
Pour ceux qui tentent de pousser l'image vers leur propre Nexus Repository Manager, procédez comme suit:
1) Connectez-vous à votre Nexus Repository Manager (le port 8443 est associé à un référentiel hôte Docker spécifique)
2) Marquer l'image AVEC VOTRE SERVEUR IP / DNS NEXUS
3) Poussez l'image
la source
Connectez-vous depuis l'application. Je n'ai essayé que depuis le terminal sans succès.
Ceci est la version 17.06.1
la source
Solution de travail simple:
Allez ici
https://hub.docker.com/
pour créer un référentiel PRIVÉ avec un nom par exemple,johnsmith/private-repository
c'est celui queNAME/REPOSITORY
vous utiliserez pour votre image lors de la construction de l'image.Première,
docker login
Deuxièmement, j'utilise "
docker build -t johnsmith/private-repository:01 .
" pour créer l'image, et j'utilise "docker images
" pour confirmer l'image créée comme dans cette boîte jaune ci-dessous: (désolé, je ne peux pas coller le format du tableau mais la chaîne de texte uniquement)docker push johnsmith/private-repository:01
Terminé!
la source
Ma réponse est liée aux problèmes similaires à Azure DevOps que j'ai rencontrés avec le pipeline commun suivant (c'est plus spécifique mais cela pourrait aider quelqu'un à gagner du temps):
L'erreur que j'ai reçue au push
denied: requested access to the resource is denied
m'a envoyé ici.Veuillez faire attention à la variable
$(Build.Repository.Name)
incluse dans le nom de votre image. C'est par défaut le nom du référentiel de github, mais pour que votre push fonctionne, il devrait l'êtredockerhub_account_username/your_dockerhub_repository_name
.Remplacez
$(Build.Repository.Name)
pardockerhub_account_username/your_dockerhub_repository_name
dans votre champ de nom d'image pour les étapes de génération et de transmission.Cela est nécessaire à l'API Dockerhub pour savoir où pousser l'image.
la source
Cela a fonctionné après avoir changé le " login docker https://hub.docker.com " en " login docker docker.io " et fourni le nom d'utilisateur et le mot de passe.
Suivez ensuite les commandes ci-dessous:
REMARQUE: "new-repo" contiendra "Docker ID + Repo name"
Ici, j'ai créé le dépôt "ubuntu" dans le Docker Hub avant d'exécuter la commande ci-dessous.
Exemple:
la source
S'il échoue toujours après
docker login
, assurez-vous que le référentiel vers lequel vous essayez de pousser a été créé en premier lieu.la source
J'ai aussi ce problème. Il s'avère que j'utilise le niveau gratuit et que j'essaie de pousser plus d'une image dans le référentiel privé. Rendre 1 image privée et le reste public a fonctionné pour moi.
la source
Dans mon cas, je poussais vers une organisation où je fais partie d'une équipe disposant des autorisations d'administrateur sur le référentiel.
donc ma commande push était:
docker push org-name/image-name
J'ai pu pousser avec succès vers nom d'utilisateur / nom-image mais pas vers l'organisation. J'ai vérifié trois fois les autorisations. Rien n'a fonctionné.
La solution était de supprimer le dépôt du docker hub et de le repousser à nouveau en utilisant:
docker push org-name/image-name
Pour ce que ça vaut, je pense que le dépôt a été initialement poussé avant que le compte ne soit converti en organisation.
la source
Donc, au cas où cela serait utile à n'importe qui ...
J'ai eu ce même problème et voici quel était mon problème et le FIX.
Ensuite, j'essayais de pousser une image vers la galaxie à partir d'un ordinateur portable sur le réseau, alors j'ai fait ceci:
Cela me donnerait une erreur qui dirait:
Curieusement, la solution à ce problème était de faire une connexion comme celle-ci:
Cela s'est traduit par une connexion réussie.
Alors j'ai essayé de pousser l'image de mon ordinateur portable vers «galaxy».
J'avais déjà créé une balise pour mon image qui ressemblait à ceci:
J'ai donc essayé de le pousser en faisant ceci:
À laquelle j'ai obtenu la réponse:
Curieusement, j'ai découvert que le correctif consistait à marquer d'abord l'image comme suit:
... puis faites le push comme ceci:
Donc, pour une raison quelconque, j'ai dû inclure le port dans la balise en tant que partie requise du nom du référentiel.
J'espère que cela aide les autres.
la source
toutes les réponses précédentes étaient correctes, je veux juste ajouter une information que j'ai vu n'a pas été mentionnée;
Si le projet est un projet privé pour pousser correctement l'image, vous devez configurer un jeton d'accès personnel ou déployer un jeton avec la clé read_registry activée.
source: https://gitlab.com/help/user/project/container_registry#using-with-private-projects
j'espère que cela vous sera utile (même si la question est publiée jusqu'à présent dans le temps)
la source
Cette réponse est autant pour mon avenir que pour n'importe qui d'autre. J'ai rencontré ce problème exact lorsque je suis connecté correctement, mais j'essaie de pousser vers un dépôt privé lorsque mon nombre de dépôts privés est supérieur ou égal à la limite autorisée par mon plan.
Je ne sais pas exactement comment j'ai pu créer trop de dépôts privés, mais si mon plan comprend 5 dépôts privés, et en quelque sorte j'en ai 6, alors c'est l'erreur que je vais recevoir:
denied: requested access to the resource is denied
Dans mon cas, il est possible que je me retrouve avec trop de référentiels privés car ma visibilité par défaut est définie sur privé:
C'est là que vous déterminez le nombre de dépôts privés que vous pouvez avoir:
Une fois que j'ai rendu public le dépôt problématique, le problème est devenu évident:
la source
J'espère vraiment que cela aidera quelqu'un (qui regarde les réponses finales en premier comme moi):
J'ai toujours essayé de taper
Au lieu
Depuis que j'ai aussi fait mon tag comme ça:
... tout l'enfer s'est perdu.
J'espère sincèrement que vous ne répéterez pas mon erreur. J'ai perdu environ 30 minutes à ce sujet ...
la source
Je suis lent à ajouter une autre réponse, mais il
docker login
manque un cas de bord à la réponse acceptée et aux réponses restantes pour résoudre les problèmes que d'autres déclarent dans les commentaires.L'accent mis sur la
port
nécessité d'être saisi est probablement la solution pour ceux qui recherchent encore.docker login
oudocker login <private-repo-host>
peut se connecter sans problème, mais quand vient le temps de pousser les images, vous obtiendrez la même erreur que OP.Autrement dit, vous pouvez vous connecter sans définir d'hôte ou de port et toujours obtenir:
Dans mon cas, j'utilise un Docker-Registry intégré à GitLab, qui a été configuré pour utiliser le port
4567
. Il peut être judicieux de vérifier à partir de quel port le registre doit être accessible. Sans spécifier que le portdocker login <our.gitlab.host>
se connecterait avec succès, mais donnez le même problème que l'OP a demandé:Si vous utilisez docker.io/dockerhub, vous n'aurez probablement pas ce problème, mais si vous avez une solution de registre auto hébergée / privée, la probabilité augmente, vous devez vous connecter explicitement en utilisant à la fois l'hôte et le port pour le registre docker. .
la source
Ne laissez pas induire en erreur vers le nom de la balise.
Mon approche pour résoudre ce problème:
Production:
Production:
Tromper est Tag, assurez-vous de bien comprendre cela.
la source
le moyen le plus simple est d'utiliser le bureau docker (pour Windows 10 ou supérieur et mac)
première inscription au docker hub en fournissant dockerID
puis cliquez sur l'icône du bureau docker sur votre machine et -> Préférences -> puis connectez-vous à celle-ci en utilisant docker hub id / mot de passe et mot de passe.
la source
renommer votre image en nom d'utilisateur / nom-image docker tag votre-image-actuelle / image-actuelle dockerhub-nom-d'utilisateur / un-nom: votre-tag (exemple: dernier)
la source
Essayez de vous déconnecter de l'application "Docker pour Windows" et de vous déconnecter du site https://hub.docker.com/ et après avoir effectué la "connexion Docker " et la "poussée Docker ". Ça m'a aidé.
la source