verweigert: angeforderter Zugriff auf die Ressource wird verweigert: Docker

372

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

Geben Sie hier die Bildbeschreibung ein

Könnte mir jemand einen Hinweis auf dieses Problem geben? Jede Hilfe wäre dankbar.

Hinweis: Ich habe mich erfolgreich bei Docker angemeldet

Keyur Shah
quelle
Stellen
Jithin Pavithran
Stellen Sie sicher, dass Sie Ihre E-Mail bestätigen. Wenn Sie überlegen, wer so etwas Dummes tun würde, habe ich meine E-Mail vor dem Push nicht bestätigt.
Luv33preet

Antworten:

550

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

# you may need log out first `docker logout` ref. https://stackoverflow.com/a/53835882/248616
docker login

Laut den Dokumenten :

You need to include the namespace for Docker Hub to associate it with your account.
The namespace is the same as your Docker Hub account name.
You need to rename the image to YOUR_DOCKERHUB_NAME/docker-whale.

Das bedeutet also, dass Sie Ihr Bild markieren müssen, bevor Sie klicken:

docker tag firstimage YOUR_DOCKERHUB_NAME/firstimage

und dann solltest du es schieben können.

docker push YOUR_DOCKERHUB_NAME/firstimage
Webert Lima
quelle
43
Nicht für mich. Ich habe alle Kombinationen von [host]/[namespace]/[repo]und immer noch den gleichen Fehler ausprobiert (was bedeutet, ich habe Organisationen und mein Konto als Namespace). Sogar versucht docker login .... Ich kann nicht pushen: - |
Nicerobot
1
hii ich folge deinem Befehl bekam Fehler --- Fehlerantwort vom Dämon: Kein solches Bild: ubuntu-nodejs: spätestens
Yash
34
Diese Antwort sollte nicht als akzeptiert markiert worden sein! Die bereitgestellte Lösung funktioniert eindeutig nicht wie von anderen angegeben.
SamDevx
6
Ich hatte das gleiche Problem und es stellte sich heraus, dass ich nicht richtig angemeldet war. "Docker-Anmeldung" verhält sich unangenehm, es wurde "Anmeldung erfolgreich" angezeigt, auch wenn ich ein falsches Passwort eingegeben habe. Um mich angemessen anzumelden, habe ich "Docker-Login <url> --username = <username>" verwendet. Post dies, "Docker Push" funktionierte wie erwartet.
Devesh Chanchlani
2
Diese Antwort ist nicht vollständig und hat bei mir nicht funktioniert. Venu S gab eine vollständige Antwort, die dieses Problem für mich löste.
rm.rf.etc
184

Ich habe das gleiche Problem bekommen, als ich am Docker-Anfängerkurs teilgenommen habe. Ich habe das Problem durch einen docker loginPush-Aufruf vor dem Docker gelöst .

Dean Wu
quelle
8
FWIW, ich war immer Fehler immer Anmeldeinformationen auf docker login. sudo docker loginarbeitete für mich. Dadurch konnte ich mein privates Repo pushen.
Johnsampson
1
Anscheinend ist das Docker-Webinar veraltet.
Luís de Sousa
Vorbehalt mit Sudo - siehe meine Antwort
Rhoerbe
80

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.

docker login -u sirimalla

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:

docker tag mylocalimage:latest sirimalla/dockerhub:myfirstimagepush

3) Das Bild wurde wie unten beschrieben in mein persönliches Docker-Repository verschoben

docker push sirimalla/dockerhub:myfirstimagepush

Und es wurde erfolgreich auf mein persönliches Docker-Repo übertragen.

Venu S.
quelle
2
Diese Antwort hat mein Problem gelöst. Dies sollte die akzeptierte Antwort sein. Die andere Antwort ist nicht vollständig und hat bei mir nicht funktioniert. Zum Beispiel wird in der anderen Antwort nichts erwähnt docker login. Bis ich zu diesem Thread kam, wusste ich nichts davon docker login.
rm.rf.etc
Im Allgemeinen sollten Sie sudo verwenden, das alle Ihre Befehle vorangestellt hat.
wmitchell
Vorbehalt mit Sudo - siehe meine Antwort
Rhoerbe
1
Das war der Welpe.
Dave Hodgkinson
1
Ja, diese Antwort hat nur mein Problem gelöst. Bitte verweisen Sie darauf, wer dieses Problem lösen möchte.
Maha Lak
42

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:

docker login

Und dann habe ich mein Bild mit dem 'getaggten Namen' verschoben .

docker push {namespace}/mydevrepo
Erick Boshoff
quelle
39

Verwenden Sie die folgenden Befehle:

$ docker login
<enter user name and password for Docker Hub Repository>

$ docker tag first-image {docker-hub-username}/{default-repo-folder-name}:first-image

$ docker push {docker-hub-username}/{default-repo-folder-name}:first-image

zB habe ich ein öffentliches Repository wie manjeet86 / docker-repo, also wären Befehle:

$ docker tag first-image manjeet86/docker-repo:first-image

$ docker push manjeet86/docker-repo:first-image

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

MSingh
quelle
1
Dies ist, was für mich funktioniert hat, :anstatt /, danke.
Kris
Mögliche Erklärung für das Problem in diesem Thread: github.com/moby/moby/issues/31760#issuecomment-309812486
gp.
Danke, das war es. Sollte die akzeptierte Antwort imho sein :)
Nk54
10

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ächlich xyz/myrepo.

Um ein Bild zu pushen, sollten Sie Folgendes tun:

docker push docker.io/xyz/myrepo

Sie können bei Bedarf ": latest" oder ein anderes Tag hinzufügen.

Wenn Sie die requested access to the resource is deniedFehlermeldung erhalten:

  1. Gehen Sie zu https://hub.docker.com/ und melden Sie sich als xyz an.
  2. Klicken Sie auf Ihr Repository xyz / myrepo.
  3. Klicken Sie auf Mitarbeiter.
  4. Fügen Sie xyz als Mitarbeiter hinzu.
Paulo Merson
quelle
Das heißt, wir können keine Bilder aus einem öffentlichen Repository eines Drittanbieters übertragen?
SDinesh94
Hat bei mir nicht funktioniert :(
Nom1fan
10

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:

  1. Gehen Sie zu hub.docker.com und ändern Sie Ihr Repository in privat
  2. In Ihrer Shell tun Sie:

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

  1. Gehen Sie zurück zum Docker-Hub und ändern Sie das Repo wieder in die Öffentlichkeit. Das hat bei mir funktioniert.
Allaroundgames 2016
quelle
8

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".

rghazali
quelle
Wie kann man immer als öffentliches Repo pushen?
Raja Anbazhagan
7

Betriebssystem: Ubuntu16.04

Grund: Ich habe die Client-Konfigurationsdatei ( ~ / .docker / config.json ) gelöscht.

Lösung:

  • Starten Sie Docker neu.
    Service Docker neu starten .
  • Es muss Anmeldeinformationen eingeben und generiert dann automatisch eine Konfigurationsdatei.
    Docker-Login --username = yourdockerhubername [email protected]
Lied
quelle
1
Dies war die einzige Lösung, die für mich funktioniert hat. Ich hatte mein Docker aktualisiert und dann aus irgendeinem Grund mvn dockerfile: push mit dieser Ausnahme fehlgeschlagen. Das Löschen dieser config.json hat das Problem behoben.
Anand1st
Das hat mir auch geholfen. Ich erkannte, dass ich zum Anmelden entweder nicht die URL docker login https://index.docker.io/v1/ -u=yourusername
eingeben
7

Mein Problem bestand ganz einfach darin, ungültige Zeichen (ein zusätzliches /) in meinem Bildnamen zu verwenden:

myusername/something/image

ist ein ungültiger Bildname. Versuchen Sie es mit meinem Benutzernamen / etwas-Bild. Hoffe das hilft jemandem.

Patrickbadley
quelle
So eine schreckliche, unspezifische Fehlermeldung! Ich habe das Gleiche getan. Außerdem werden wiederholte Sonderzeichen , z __.
Ijoseph
Es funktioniert bei mir, danke!
Kenny Lee
6

Ich hatte heute das gleiche Problem. Das einzige, was für mich funktioniert hat, war sich explizit bei "docker.io" anzumelden :

docker login docker.io

Ich habe verschiedene andere Namen ausprobiert, und die Anmeldung scheint zu funktionieren, führt aber später zu folgendem Fehler.

Der angeforderte Zugriff auf die Ressource wird verweigert

jsight
quelle
2
Dies hat auch das Problem für mich gelöst. Ich habe es docker loginohne Erfolg versucht , aber das explizite docker.ioam Ende hat den Trick gemacht.
Jooks
Das war es für mich
Glitcher
Die explizite Anmeldung bei docker.io hat bei mir nicht funktioniert. Login hat in der Vergangenheit funktioniert und funktioniert jetzt nicht mehr.
Rhoerbe
5

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 loginaber ich konnte das Bild trotzdem nicht pushen. Was schließlich funktionierte, war einfach zu tun:

docker logout

Und docker loginandererseits war es so trivial. Ich bin nicht sicher, was passiert ist, aber das Erzwingen der erneuten Anmeldung hat funktioniert.

Hallo "zu
quelle
1
Es hat mir auch geholfen!
Levente Orbán
1
Ja, mit dem Abmelden funktioniert es wieder für mich. Vielen Dank!
Nam G VU
4

Wenn dieses Problem bei der Verwendung der Azure Container-Registrierung auftritt, können Sie es beheben, indem Sie sich zuerst bei Ihrer Registrierung anmelden.

docker login yourregistry.azurecr.io

Markieren Sie dann Ihr Bild so, dass es mit dem Hostnamen Ihrer Registrierung übereinstimmt.

docker image tag yourimagename:[version] yourregistry.azurecr.io/yourimagename:[version]

Und dann endlich schieben.

docker push yourregistry.azurecr.io/yourimagename:[version]
hendryanw
quelle
1
Aus Azure kommend hat das geholfen! Es ist nicht der Namespace, sondern der Hostname der Registrierung, der den ersten Teil des Tags darstellt!
Binaryguy
4

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).

sudo docker login xxx.mydomain.com:8443

2) Kennzeichnen Sie das Bild mit Ihrer NEXUS SERVER IP / DNS

sudo docker tag myimage:latest xxx.mydomain.com:8443/myimage:1.0.0

3) Schieben Sie das Bild

sudo docker push xxx.mydomain.com:8443/myimage:1.0.0
Phil
quelle
Ich hatte ein Problem im Docker-Plugin von Jenkins, das sich immer auf docker.io bezog. Tags wie xxx.mydomain.com:8443/myimage:1.0.0 haben das Problem behoben. Stellen Sie sicher, dass Sie das Procotol und / v2 / stuff weglassen.
Himmet Avsar
warum Port hinzufügen. Und wessen Port in der Nähe von xxx.mydomain.com hinzuzufügen. 8443 ist fot https Spring Boot. Was ist, wenn es sich um eine eckige Anwendung handelt?
P Satish Patro
1
@PSatishPatro Wenn Ihr Repository in einen bestimmten http / https-Port aufgelöst wird, muss das Tag wissen, wohin es verschoben werden soll (da Sie ihm nicht sagen, wohin es gehen soll - als Parameter), wie oben erwähnt, muss es das sein genaue URL als Repository Ihres vollständigen Nexus.
Phil
3

Melden Sie sich über die App an. Ich habe es nur vom Terminal aus ohne Glück versucht.

Dies ist Version 17.06.1

Geben Sie hier die Bildbeschreibung ein

Ignacio Pascual
quelle
Unter MacOS war dies die Lösung für mich.
Vagari
3

Einfache Arbeitslösung:

https://hub.docker.com/Klicken Sie hier , um ein privates Repository mit Namen zu erstellen. johnsmith/private-repositoryDies ist beispielsweise das Repository, das NAME/REPOSITORYSie 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)

johnsmith / private-repository (REPOSITORY) 01 (TAD) c5f4a2861d6e (IMAGE ID) vor 2 Tagen (CREATED) 305MB (SIZE)

  • Drittens benutze ich docker push johnsmith/private-repository:01

Erledigt!

Dung
quelle
2

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):

  1. Holen Sie sich Quellen von Github
  2. Erstellen Sie ein Docker-Image
  3. Schieben Sie das Docker-Image in den Dockerhub

Der Fehler, den ich bei Push erhalten denied: requested access to the resource is deniedhabe, 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 sein dockerhub_account_username/your_dockerhub_repository_name.

Ersetzen Sie $(Build.Repository.Name)durch dockerhub_account_username/your_dockerhub_repository_namein 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.

Gabriel P.
quelle
2

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:

docker tag local-image:tagname new-repo:tagname

docker push new-repo:tagname

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:

docker tag alok/ubuntu:latest aloktiwari2007/ubuntu:latest

docker push aloktiwari2007/ubuntu:latest
Alok Tiwari
quelle
Ein wichtiger Punkt für mich war der Tagname im Docker-Tag-Befehl, der folgendermaßen lauten sollte: <dockeruserid> / <Name des Remote-Repositorys>: <tag>. Dieselbe Tag-ID sollte im Push-Befehl verwendet werden.
Tanmay Patil
1

Wenn es danach immer noch fehlschlägt docker login, stellen Sie sicher, dass das Repository, auf das Sie pushen möchten, zuerst erstellt wurde.

louis_guitton
quelle
1

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.

Shige
quelle
1

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.

schmidlop
quelle
1

Also, falls es für irgendjemanden hilfreich ist ...
Ich hatte das gleiche Problem und hier ist mein Problem und das FIX.

  • Ich hatte einen Computer in meinem Testnetzwerk namens "Galaxie".
  • Ich richte die Docker-Registrierung mit dem folgenden Ausführungsbefehl ein:

    sudo docker run -d 
    --restart=always \
    --name registry \
    -v /srv/registry/certs:/certs \
    -v /srv/registry/storage:/var/lib/registry \
    -e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
    -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/galaxy.cert \
    -e REGISTRY_HTTP_TLS_KEY=/certs/galaxy.key \
    -p 443:443 \
    registry:2
    

    Dann habe ich versucht, ein Bild von einem Laptop im Netzwerk in die Galaxie zu übertragen, also habe ich Folgendes getan:

    docker login galaxy
    

    Dies würde mir einen Fehler geben, der sagen würde:

    Login did not succeed, error: Error response from daemon: 
        Get https://galaxy/v2/: x509: certificate signed by unknown authority
    

    Seltsamerweise bestand die Lösung für dieses Problem darin, sich wie folgt anzumelden:

    docker login galaxy:443
    

    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:

    galaxy/myImage:0.0.1
    

    Also habe ich versucht, es dabei voranzutreiben:

    docker push galaxy/myImage:0.0.1
    

    Worauf ich die Antwort bekam:

    The push refers to repository [docker.io/galaxy/myImage]
    7ab460574f86: Preparing 
    1aecaf56754d: Preparing 
    1df1b5f06ca4: Preparing 
    denied: requested access to the resource is denied
    

    Seltsamerweise stellte ich fest, dass das Problem darin bestand, das Bild zuerst wie folgt zu markieren:

    docker tag myImage:0.0.1 galaxy:443/myImage:0.0.1
    

    ... und dann mach den Push so:

    docker push galaxy:443/myImage:0.0.1
    

    Aus irgendeinem Grund musste ich den Port als erforderlichen Teil des Repository-Namens in das Tag aufnehmen.



    Hoffe das hilft anderen.

  • Deoji
    quelle
    1

    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)

    AtomiX84
    quelle
    1

    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:

    Standardsichtbarkeit

    Hier legen Sie fest, wie viele private Repos Sie haben können:

    Abrechnungspläne

    Nachdem ich das problematische Repo veröffentlicht hatte, wurde das Problem offensichtlich:

    Repository privat machen 5 von 5

    Matthew James Briggs
    quelle
    1

    Ich hoffe wirklich, dass dies jemandem hilft (der zuerst als ich auf die endgültigen Antworten schaut):

    Ich habe ständig versucht einzutippen

    docker push user/repo/tag
    

    Stattdessen

    docker push user/repo:tag
    

    Da habe ich auch mein Tag so gemacht:

    docker tag image user/repo/tag
    

    ... die Hölle brach los.

    Ich hoffe aufrichtig, dass Sie meinen Fehler nicht wiederholen. Ich habe 30 Minuten damit verschwendet ...

    GeorgiG
    quelle
    1

    Ich füge nur langsam eine weitere Antwort hinzu, aber der akzeptierten Antwort und den verbleibenden erwähnten Antworten docker loginfehlt ein Randfall, um die Probleme zu lösen, die andere in Kommentaren angeben.

    docker login <private-repo-host>:<port>

    Die Betonung der portNotwendigkeit, eingegeben zu werden, ist wahrscheinlich die Lösung für diejenigen, die noch suchen. docker loginoder docker 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:

    ...

    Anmeldung erfolgreich

    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 Ports docker login <our.gitlab.host>würde sich die Anmeldung erfolgreich anmelden, aber das gleiche Problem geben, nach dem das OP gefragt hat:

    ...

    Der Push bezieht sich auf das Repository [...]

    verweigert: Zugang verboten

    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 .

    Arthur Weborg
    quelle
    Vielen Dank, sehr hilfreich!
    Alfabravo
    1

    Lassen Sie keine Irreführung in Richtung Tag-Name zu.
    Mein Lösungsansatz:

    Command 1(Create Tag): docker tag my-nginx:latest rsachde/nginx-repository/trys:1.0 (Didn't push)
    Command 2(Push): docker push rsachde/nginx-repository/try:1.0 
    

    Ausgabe:

    verweigert: Der angeforderte Zugriff auf die Ressource wird verweigert


    Command 1.1(Create Tag): docker tag my-nginx:latest rsachde/nginx-repository/:trys 
    Command 2.2(Push): docker push rsachde/nginx-repository:trys 
    

    Ausgabe:

    Versuche: Digest: sha256: 405b6f0ae25772ef71b8f59fd6a56ff9b426f50bd24bac2b5db41f65efd3387c Größe: 1365

    Irreführend ist Tag, stellen Sie sicher, dass Sie das verstehen.

    Ria Sachdeva
    quelle
    1

    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.

    Geben Sie hier die Bildbeschreibung ein

    Jayani Sumudini
    quelle
    0

    Benennen Sie Ihr Bild in Benutzername / Bildname Docker-Tag Ihr aktuelles Bild / aktuelles Bild Dockerhub-Benutzername / ein Name: Ihr Tag (Beispiel: neueste)

    Italo José
    quelle
    0

    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.

    Vladimir
    quelle