2016-07-28 33 views
0

Also, wir haben Berechtigungen eingerichtet, wer an die Docker-Registrierung in artefactor schieben kann. Nun habe ich eine dockercfg Datei in $ HOME/.dockercfg auf meinem Mac und hinzugefügt, um den Benutzernamen und das Bestehen der curl Befehl:Das Verschieben eines Tags in die private docker-Registrierung in artefactory schlägt von mac fehl

curl -uaaaaa:bbbbbbb "https://docker.io/v2/auth" >> $HOME/.dockercfg 

Danach, wenn ich versuche, ein Bild Push-Registry Andockfenster es nicht mit die folgenden Fehler:

unauthorized: The client does not have permission to push to the repository. 

als ich im docker request.log in der Registrierung suchen, ich sehe seine versuchen, so anonym von meinem mac zu schieben. Das ist sehr verwirrend. Obwohl ich die $ HOME/.dockercfg habe, die einen Benutzer hat.

Ich habe auch versucht, den Docker Login docker.io Weg, aber das hilft auch nicht.

Es scheint, dass die Artefakte docker Registrierung ist nicht in der Lage, die Benutzerinformationen zu finden, wenn ich von meinem Mac drängen und zeigt als anonymous.

Meine Artefakt Server Version ist 4.5.0 und Docker 1.12.0-rc2.

Kann mir bitte jemand helfen.

Antwort

0

Nach bestem Wissen und Gewissen Docker 1.12 nicht mehr unterstützt Konfiguration unter ~/.dockercfg stattdessen legte sie sollte unter ~/.docker/config.json platziert werden - die Methode Sie verwenden für die älteren Docker Kunden relevant war> Auf jeden Fall sollten Sie docker login verwenden authentifizieren Sie Ihren Docker-Client mit Artifactory.

Als eine Nebenbemerkung, Ihre Version von Artifactory ist ein bisschen alt - neuere Versionen haben erhebliche Änderungen vorgenommen, um die neueren Docker-Versionen zu unterstützen, so dass Sie aktualisieren sollten, bevor Sie es erneut versuchen.

Denken Sie auch an Ihre Reverse Proxy konfigurieren mit Artifactory zu arbeiten und dass Sie auch benötigen wahrscheinlich Docker einzurichten (und Ihre Reverse-Proxy) self-signed certificates zu verwenden.

+0

Ich habe auch versucht, docker Login abc.com und das ist erfolgreich, aber die Minute, die ich versuche, es scheitert schlägt mit 'nicht autorisiert: Der Client hat keine Berechtigung, an das Repository zu schieben. ' Ich werde einen Blick auf Reverse-Proxy werfen. – Jason

+0

Sie sollten auch die Berechtigungen für diesen Repo für diesen Benutzer überprüfen, versuchen Sie es in der 'access.log' zu sehen, wenn die Anfragen anonym oder authentifiziert mit dem erwarteten Benutzer eingehen. – danf

+0

Ich kann den gleichen Benutzer aus meiner Linux-Box verwenden und es funktioniert einfach. Irgendwie ist mac nicht in der Lage, die Benutzerinfo oder die Artefaktversion zu übergeben, die ich nicht docker 1,10 und höher vermute. – Jason