Ich folge diesem Link , um mein erstes Docker-Image zu erstellen, und es lief erfolgreich. Jetzt versuche ich, dieses Image über diesen Link in mein Docker-Repository zu verschieben . Aber wenn ich versuche, dieses Image in das Repository zu verschieben, wird diese Art von Fehler angezeigt.
denied: requested access to the resource is denied
Könnte mir jemand einen Hinweis auf dieses Problem geben? Jede Hilfe wäre dankbar.
Hinweis: Ich habe mich erfolgreich bei Docker angemeldet
docker
dockerfile
Keyur Shah
quelle
quelle
Antworten:
Möglicherweise müssen Sie Ihr Docker-Repo vor dem Docker-Push auf privat umstellen.
Denken Sie dank der Antwort von Dean Wu und dieses Kommentars von ses vor dem Drücken daran, sich abzumelden und sich dann über die Befehlszeile bei Ihrem Docker-Hub-Konto anzumelden
Laut den Dokumenten :
Das bedeutet also, dass Sie Ihr Bild markieren müssen, bevor Sie klicken:
und dann solltest du es schieben können.
quelle
[host]/[namespace]/[repo]
und immer noch den gleichen Fehler ausprobiert (was bedeutet, ich habe Organisationen und mein Konto als Namespace). Sogar versuchtdocker login ...
. Ich kann nicht pushen: - |Ich habe das gleiche Problem bekommen, als ich am Docker-Anfängerkurs teilgenommen habe. Ich habe das Problem durch einen
docker login
Push-Aufruf vor dem Docker gelöst .quelle
docker login
.sudo docker login
arbeitete für mich. Dadurch konnte ich mein privates Repo pushen.Ich hatte das gleiche Problem, aber die hier gegebene akzeptierte Antwort funktionierte bei mir nicht. Ich versuchte ein paar Schritte und konnte herumkommen, um es endlich zu schieben. Hoffe das hilft jemandem.
Hier sind die Schritte, die für mich gearbeitet haben:
1) Melden Sie sich beim Docker an.
2) Kennzeichnen Sie Ihren Image-Build
Mein Bildname hier ist: mylocalimage und standardmäßig hat es das Tag: latest
und mein Benutzername ist: sirimalla, wie in der Docker Cloud registriert, und ich habe ein öffentliches Repository mit dem Namen: dockerhub erstellt
so wird mein persönliches Repository jetzt: sirimalla / dockerhub und ich möchte mein Bild mit tag pushen:
myfirstimagepush
Ich habe wie folgt getaggt:
3) Das Bild wurde wie unten beschrieben in mein persönliches Docker-Repository verschoben
Und es wurde erfolgreich auf mein persönliches Docker-Repo übertragen.
quelle
docker login
. Bis ich zu diesem Thread kam, wusste ich nichts davondocker login
.Es ist auch wichtig zu beachten, dass Sie Ihr Bild beim Taggen mit dem Namespace und dann mit Ihrem Repository / mydevrepo markieren . Dies verwirrte mich, als ich den Docker-Dokumenten folgte. Danach habe ich verwendet:
Und dann habe ich mein Bild mit dem 'getaggten Namen' verschoben .
quelle
Verwenden Sie die folgenden Befehle:
zB habe ich ein öffentliches Repository wie manjeet86 / docker-repo, also wären Befehle:
Nur
:
stattdessen/
war der Trick. Für mich geht das. Ich weiß nicht, ob Sie damit/
auch anstelle von markieren:
können, aber das kann für einen anderen Zweck sein.https://docs.docker.com/engine/reference/commandline/tag/#examples
quelle
:
anstatt/
, danke.Die Art und Weise, wie Docker mit Benutzer-IDs und Repositorys umgeht, kann etwas verwirrend sein. Angenommen, Sie erstellen ein Benutzerkonto xyz auf dem Docker-Hub. Das neue Konto erstellt automatisch einen Namespace
xyz
. Dann erstellen Sie ein Repository namens myrepo. Der Repository-Name lautet tatsächlichxyz/myrepo
.Um ein Bild zu pushen, sollten Sie Folgendes tun:
Sie können bei Bedarf ": latest" oder ein anderes Tag hinzufügen.
Wenn Sie die
requested access to the resource is denied
Fehlermeldung erhalten:quelle
Ich bin mir nicht sicher, was mit Docker Hub passiert ist, aber keine der veröffentlichten Lösungen hat bei mir funktioniert. Hier ist die Problemumgehung, die ab Januar 2018 für mich funktioniert hat:
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
quelle
Docker hat auch ein Limit für die Anzahl der privaten Repositorys, die Sie haben können. Wenn Sie ein privates Repository erstellen, indem Sie von Ihrem lokalen Computer aus pushen, wird das Repository erstellt, aber es kann nichts weiter darauf verschoben oder daraus gezogen werden, und Sie erhalten den Fehler "Der angeforderte Zugriff auf die Ressource wird verweigert".
quelle
Betriebssystem: Ubuntu16.04
Grund: Ich habe die Client-Konfigurationsdatei ( ~ / .docker / config.json ) gelöscht.
Lösung:
Service Docker neu starten .
Docker-Login --username = yourdockerhubername [email protected]
quelle
docker login https://index.docker.io/v1/ -u=yourusername
Mein Problem bestand ganz einfach darin, ungültige Zeichen (ein zusätzliches /) in meinem Bildnamen zu verwenden:
ist ein ungültiger Bildname. Versuchen Sie es mit meinem Benutzernamen / etwas-Bild. Hoffe das hilft jemandem.
quelle
__
.Ich hatte heute das gleiche Problem. Das einzige, was für mich funktioniert hat, war sich explizit bei "docker.io" anzumelden :
Ich habe verschiedene andere Namen ausprobiert, und die Anmeldung scheint zu funktionieren, führt aber später zu folgendem Fehler.
quelle
docker login
ohne Erfolg versucht , aber das explizitedocker.io
am Ende hat den Trick gemacht.Ich war auch mit diesem Problem beschäftigt, ich habe die hier vorhandenen Lösungen getestet, aber ohne Erfolg war ich ordnungsgemäß angemeldet, zumindest entsprechend der Ausgabe von,
docker login
aber ich konnte das Bild trotzdem nicht pushen. Was schließlich funktionierte, war einfach zu tun:docker logout
Und
docker login
andererseits war es so trivial. Ich bin nicht sicher, was passiert ist, aber das Erzwingen der erneuten Anmeldung hat funktioniert.quelle
Wenn dieses Problem bei der Verwendung der Azure Container-Registrierung auftritt, können Sie es beheben, indem Sie sich zuerst bei Ihrer Registrierung anmelden.
Markieren Sie dann Ihr Bild so, dass es mit dem Hostnamen Ihrer Registrierung übereinstimmt.
Und dann endlich schieben.
quelle
Führen Sie die folgenden Schritte aus, um das Image in den eigenen Nexus Repository Manager zu übertragen:
1) Melden Sie sich bei Ihrem Nexus Repository Manager an (Port 8443 ist einem bestimmten Docker-Host-Repository zugeordnet).
2) Kennzeichnen Sie das Bild mit Ihrer NEXUS SERVER IP / DNS
3) Schieben Sie das Bild
quelle
Melden Sie sich über die App an. Ich habe es nur vom Terminal aus ohne Glück versucht.
Dies ist Version 17.06.1
quelle
Einfache Arbeitslösung:
https://hub.docker.com/
Klicken Sie hier , um ein privates Repository mit Namen zu erstellen.johnsmith/private-repository
Dies ist beispielsweise das Repository, dasNAME/REPOSITORY
Sie beim Erstellen des Images für Ihr Image verwenden.Zuerst,
docker login
Zweitens verwende ich "
docker build -t johnsmith/private-repository:01 .
", um ein Bild zu erstellen, und ich verwende "docker images
", um das erstellte Bild zu bestätigen, wie in diesem gelben Feld unten: (Entschuldigung, ich kann das Tabellenformat nicht einfügen, sondern nur die Textzeichenfolge)docker push johnsmith/private-repository:01
Erledigt!
quelle
Meine Antwort bezieht sich auf ähnliche Probleme mit Azure DevOps, die ich mit der folgenden allgemeinen Pipeline hatte (sie ist spezifischer, kann aber jemandem helfen, Zeit zu sparen):
Der Fehler, den ich bei Push erhalten
denied: requested access to the resource is denied
habe, hat mich hierher geschickt.Bitte achten Sie auf die Variable
$(Build.Repository.Name)
in Ihrem Bildnamen. Es ist standardmäßig der Name des Repositorys von github, aber damit Ihr Push funktioniert, sollte es so seindockerhub_account_username/your_dockerhub_repository_name
.Ersetzen Sie
$(Build.Repository.Name)
durchdockerhub_account_username/your_dockerhub_repository_name
in Ihrem Bildnamenfeld sowohl für Build- als auch für Push-Schritte.Dies wird von der Dockerhub-API benötigt, um zu wissen, wohin das Bild verschoben werden soll.
quelle
Es hat funktioniert, nachdem ich das " Docker-Login https://hub.docker.com " in " Docker-Login docker.io " geändert und Benutzername und Passwort angegeben habe.
Folgen Sie dann den folgenden Befehlen:
HINWEIS: "new-repo" enthält "Docker ID + Repo name"
Hier habe ich im Docker Hub ein "Ubuntu" -Repo erstellt, bevor ich den folgenden Befehl ausgeführt habe.
Beispiel:
quelle
Wenn es danach immer noch fehlschlägt
docker login
, stellen Sie sicher, dass das Repository, auf das Sie pushen möchten, zuerst erstellt wurde.quelle
Ich habe auch dieses Problem. Es stellt sich heraus, dass ich die kostenlose Ebene verwende und versuche, mehr als ein Image in das private Repository zu übertragen. 1 Bild privat und den Rest öffentlich zu machen, hat für mich funktioniert.
quelle
In meinem Fall habe ich mich an eine Organisation gewandt, in der ich in einem Team bin, das über Administratorrechte für das Repository verfügt.
Mein Push-Befehl war also:
docker push org-name/image-name
Ich konnte erfolgreich auf Benutzername / Bildname pushen, aber nicht auf die Organisation. Ich habe die Berechtigungen dreimal überprüft. Nichts hat geklappt.
Die Lösung bestand darin, das Repo vom Docker-Hub zu löschen und erneut zu pushen, indem Sie Folgendes verwenden:
docker push org-name/image-name
Ich denke, das Repo wurde ursprünglich gepusht, bevor das Konto in eine Organisation umgewandelt wurde.
quelle
Also, falls es für irgendjemanden hilfreich ist ...
Ich hatte das gleiche Problem und hier ist mein Problem und das FIX.
Dann habe ich versucht, ein Bild von einem Laptop im Netzwerk in die Galaxie zu übertragen, also habe ich Folgendes getan:
Dies würde mir einen Fehler geben, der sagen würde:
Seltsamerweise bestand die Lösung für dieses Problem darin, sich wie folgt anzumelden:
Das führte zu einem erfolgreichen Login.
Also habe ich versucht, das Bild von meinem Laptop in die Galaxie zu verschieben.
Ich hatte bereits ein Tag für mein Bild erstellt, das so aussah:
Also habe ich versucht, es dabei voranzutreiben:
Worauf ich die Antwort bekam:
Seltsamerweise stellte ich fest, dass das Problem darin bestand, das Bild zuerst wie folgt zu markieren:
... und dann mach den Push so:
Aus irgendeinem Grund musste ich den Port als erforderlichen Teil des Repository-Namens in das Tag aufnehmen.
Hoffe das hilft anderen.
quelle
Alle vorherigen Antworten waren korrekt. Ich möchte nur eine Information hinzufügen, die ich gesehen habe und die nicht erwähnt wurde.
Wenn das Projekt ein privates Projekt ist, um das Image korrekt zu übertragen, muss ein persönliches Zugriffstoken konfiguriert oder ein Token mit aktiviertem read_registry-Schlüssel bereitgestellt werden.
Quelle: https://gitlab.com/help/user/project/container_registry#using-with-private-projects
hoffe das ist hilfreich (auch wenn die frage bisher in der zeit gepostet wird)
quelle
Diese Antwort gilt für mein zukünftiges Ich genauso wie für alle anderen. Ich bin genau auf dieses Problem gestoßen, wenn ich korrekt angemeldet bin, aber ich versuche, auf ein privates Repo zu pushen, wenn meine Anzahl privater Repos größer oder gleich dem in meinem Plan zulässigen Limit ist.
Ich bin mir nicht ganz sicher, wie ich zu viele private Repos erstellen konnte, aber wenn mein Plan 5 private Repos enthält und ich irgendwie 6 habe, ist dies der Fehler, den ich erhalten werde:
denied: requested access to the resource is denied
In meinem Fall ist es möglich, dass ich zu viele private Repositorys hatte, weil ich meine Standardsichtbarkeit auf privat gesetzt habe:
Hier legen Sie fest, wie viele private Repos Sie haben können:
Nachdem ich das problematische Repo veröffentlicht hatte, wurde das Problem offensichtlich:
quelle
Ich hoffe wirklich, dass dies jemandem hilft (der zuerst als ich auf die endgültigen Antworten schaut):
Ich habe ständig versucht einzutippen
Stattdessen
Da habe ich auch mein Tag so gemacht:
... die Hölle brach los.
Ich hoffe aufrichtig, dass Sie meinen Fehler nicht wiederholen. Ich habe 30 Minuten damit verschwendet ...
quelle
Ich füge nur langsam eine weitere Antwort hinzu, aber der akzeptierten Antwort und den verbleibenden erwähnten Antworten
docker login
fehlt ein Randfall, um die Probleme zu lösen, die andere in Kommentaren angeben.Die Betonung der
port
Notwendigkeit, eingegeben zu werden, ist wahrscheinlich die Lösung für diejenigen, die noch suchen.docker login
oderdocker login <private-repo-host>
kann ohne Probleme eine Verbindung herstellen, aber wenn es Zeit ist, Bilder zu pushen, wird der gleiche Fehler wie bei OP angezeigt.Das heißt, Sie können eine Verbindung herstellen, ohne den Host oder Port zu definieren, und trotzdem Folgendes erhalten:
In meinem Fall verwende ich eine selbst gehostete GitLab-Docker-Registrierung, die für die Verwendung des Ports eingerichtet wurde
4567
. Es kann abenteuerlich sein, zu überprüfen, von welchem Port aus auf die Registrierung zugegriffen werden muss. Ohne Angabe dieses Portsdocker login <our.gitlab.host>
würde sich die Anmeldung erfolgreich anmelden, aber das gleiche Problem geben, nach dem das OP gefragt hat:Wenn Sie docker.io/dockerhub verwenden, tritt dieses Problem wahrscheinlich nicht auf. Wenn Sie jedoch eine selbst gehostete / private Registrierungslösung haben, steigt die Wahrscheinlichkeit, dass Sie sich explizit über den Host und den Port für die Docker-Registrierung anmelden müssen .
quelle
Lassen Sie keine Irreführung in Richtung Tag-Name zu.
Mein Lösungsansatz:
Ausgabe:
Ausgabe:
Irreführend ist Tag, stellen Sie sicher, dass Sie das verstehen.
quelle
Der einfachste Weg ist die Verwendung des Docker-Desktops (für Windows 10 oder höher und Mac).
Melden Sie sich zuerst beim Docker-Hub an, indem Sie die Docker-ID angeben
Klicken Sie dann auf das Docker-Desktop-Symbol auf Ihrem Computer und -> Einstellungen -> und melden Sie sich mit Docker Hub Docker / ID und Kennwort an.
quelle
Benennen Sie Ihr Bild in Benutzername / Bildname Docker-Tag Ihr aktuelles Bild / aktuelles Bild Dockerhub-Benutzername / ein Name: Ihr Tag (Beispiel: neueste)
quelle
Versuchen Sie, sich von der Anwendung "Docker für Windows" abzumelden und sich von der Website https://hub.docker.com/ abzumelden. Führen Sie anschließend "Docker-Login" und "Docker-Push" aus. Es hat mir geholfen.
quelle