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.
docker login <private-repo-host>:<port>
Die Betonung der port
Notwendigkeit, eingegeben zu werden, ist wahrscheinlich die Lösung für diejenigen, die noch suchen. docker login
oder 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 .