Zainstalowałem Docker Toolbox w Windows 8.1 i korzystam z samouczka instalacji. Kiedy dochodziłem do kroku, w którym jesteś create and push your own imag e, otrzymałem ten błąd, gdy próbowałem uruchomić docker login ...
.Dlaczego "logowanie do dokowarki" kończy się niepowodzeniem w Docker Quickstart Terminal, ale działa z poziomu domyślnego komputera?
### VIA Docker Quickstart Terminal
### docker login --username=myuser --password="mypass" [email protected]
time="2015-11-17T03:20:58.160803558Z" level=debug msg="Calling POST /v1.21/auth"
time="2015-11-17T03:20:58.160838971Z" level=info msg="POST /v1.21/auth"
time="2015-11-17T03:20:58.169033324Z" level=debug msg="hostDir: /etc/docker/certs.d/https:/registry-win-tp3.docker.io/v1"
time="2015-11-17T03:20:58.169071565Z" level=debug msg="pinging registry endpoint https://registry-win-tp3.docker.io/v1/"
time="2015-11-17T03:20:58.169084660Z" level=debug msg="attempting v1 ping for registry endpoint https://registry-win-tp3.docker.io/v1/"
time="2015-11-17T03:20:58.898542338Z" level=debug msg="Error unmarshalling the _ping PingResult: invalid character '<' looking for beginning of value"
time="2015-11-17T03:20:58.898803841Z" level=debug msg="PingResult.Version: \"\""
time="2015-11-17T03:20:58.898818084Z" level=debug msg="Registry standalone header: ''"
time="2015-11-17T03:20:58.898836197Z" level=debug msg="PingResult.Standalone: true"
time="2015-11-17T03:20:58.898853685Z" level=debug msg="attempting v1 login to registry endpoint https://registry-win-tp3.docker.io/v1/"
time="2015-11-17T03:20:59.478756938Z" level=error msg="Handler for POST /v1.21/auth returned error: Unexpected status code [403] : <html><body><h1>403 Forbidden</h1>\nRequest forbidden by administrative rules.\n</body></html>\n\n"
time="2015-11-17T03:20:59.478815334Z" level=error msg="HTTP Error" err="Unexpected status code [403] : <html><body><h1>403 Forbidden</h1>\nRequest forbidden by administrative rules.\n</body></html>\n\n" statusCode=500
Próbując rozwiązać ten problem, próbowałem działa docker login ...
od wewnątrz domyślnie Docker VM. I tam to działa!
### VIA default virtual machine (192.168.99.100)
### docker login --username=myuser --password="mypass" [email protected] https://index.docker.io/v1/
time="2015-11-17T03:20:46.053333255Z" level=debug msg="Calling POST /v1.21/auth"
time="2015-11-17T03:20:46.053404176Z" level=info msg="POST /v1.21/auth"
time="2015-11-17T03:20:46.082796012Z" level=debug msg="hostDir: /etc/docker/certs.d/https:/index.docker.io/v1"
time="2015-11-17T03:20:46.082930763Z" level=debug msg="pinging registry endpoint https://index.docker.io/v1/"
time="2015-11-17T03:20:46.082946790Z" level=debug msg="attempting v1 ping for registry endpoint https://index.docker.io/v1/"
time="2015-11-17T03:20:46.082959103Z" level=debug msg="attempting v1 login to registry endpoint https://index.docker.io/v1/"
Zauważyłem, że używają dwóch różnych adresów URL i że pierwszy napotka błąd podczas parsowania. Dane uwierzytelniające są oczywiście poprawne, ponieważ działają z poziomu maszyny wirtualnej, chyba że te dwie domeny nie współdzielą użytkowników. Czy adresy URL lub odpowiedź są mangled przez MINGW64?
Wydaje się, że istnieje obejście: zobacz moją zredagowaną odpowiedź. – VonC
Zaktualizowałem odpowiedź: wydaje się, że oficjalna poprawka. – VonC