Renn einfach:
"C:\Program Files\Docker Toolbox\docker-machine" ls
Rufen Sie den Computernamen ab und führen Sie Folgendes aus:
"C:\Program Files\Docker Toolbox\docker-machine" env <MACHINE_NAME_HERE> --shell=[cmd|powershell]
und du solltest so etwas bekommen:
"C:\Program Files\Docker Toolbox\docker-machine" env default --shell=cmd
set DOCKER_TLS_VERIFY=1
set DOCKER_HOST=tcp://192.X.X.X:2376
set DOCKER_CERT_PATH=C:\Users\X\.docker\machine\machines\default
set DOCKER_MACHINE_NAME=default
# Run this command to configure your shell:
# copy and paste the above values into your command prompt
Ich erhalte auch einen Fehler open C:\Users\X\.docker\machine\machines\default\server.pem: The system cannot find the file specified.
und habe ihn behoben, indem ich meine VirtualBox auf Version 5.0.3 aktualisiert habe (von ihren nächtlichen Builds ).
Lange Version:
Ich habe das gleiche Problem und danach und im Abschnitt "Verwenden von Docker über die Windows-Eingabeaufforderung (cmd.exe)" aus dem Installationshandbuch bin ich in die richtige Richtung gegangen
Grundsätzlich funktioniert Docker so, dass die "Docker" -Befehle an einen Docker-Dienst übergeben werden (der auf Port 2375 ausgeführt wird). Während Sie den Docker vom Windows-Host aus ausführen, wird der Dienst tatsächlich auf dem von Docker erstellten Linux-Host ausgeführt (Sie können ihn durch Öffnen der Virtualbox-Benutzeroberfläche anzeigen).
Der übliche Fluss ist der folgende:
- Standardmaschine wird erstellt
- Der Starter (kinamatic / "Docker Quickstart Terminal" / cmd) des Computers wartet auf den Start des Computers, erhält seine IP-Adresse und legt in wenigen Umgebungen den IP-Port von Linux als Dienstadresse (anstelle von 127.0.0.1:2375) fest / Powershell-Variablen
- Ab diesem Zeitpunkt werden alle
docker ...
Befehle an den Linux-Host gesendet und alles funktioniert fast wie natives Linux
Das Problem ist, dass es ein Problem mit dem Maschinen-Setup gibt (ich schätze die neue virtuelle Box, aber ich bin mir nicht sicher und habe die Zeit, mich damit zu beschäftigen). Sie können das sehen, indem Sie diels
Befehl und feststellen, dass (zumindest in meinem Fall) der Status der Maschine "Zeitüberschreitung" ist und im Gegensatz zu der im Handbuch gezeigten Ausgabe keine URL vorhanden ist.
Dies führt dazu, dass die Umgebungswerte nicht eingestellt werden und die docker ...
Befehle fehlschlagen.
Neben der Ausführung des Befehls können Sie auch den Befehl starten Docker Quickstart Terminal
, der dasselbe tut, jedoch mit der sh-Shell
In Bezug auf den Zertifikatfehler habe ich versucht, die Zertifikate aus der virtuellen Maschine heraus neu zu generieren.
/usr/local/bin/generate_cert --overwrite --host=default,127.0.0.1,10.0.2.15,192.168.99.100 --ca=/var/lib/boot2docker/tls/ca.pem --ca-key=/var/lib/boot2docker/tls/cakey.pem --cert=/var/lib/boot2docker/tls/server.pem --key=/var/lib/boot2docker/tls/serverkey.pem
Beim Versuch, das Zertifikat auf den Hostcomputer zu kopieren, wurde ein "Protokollfehler" angezeigt, der mich an einen alten Fehler bei freigegebenen Ordnern von virtualbox erinnerte. Daher ist dies möglicherweise kein Problem mit Docker, sondern mit virtualbox. Ich habe auf die neueste nächtliche Version (5.0) aktualisiert .3-102224) hat das Standardbild neu generiert und das scheint es zu lösen. Da Windows 10 weder vom Docker noch von der Virtualbox offiziell unterstützt wird, bin ich mir nicht sicher, ob dies das gleiche ist, bei dem Sie den Zertifikatfehler erhalten. Sie können auf jeden Fall versuchen, die Zertifikate von der virtuellen Maschine zu kopieren (die Sie haben) die Pfade im Codeblock) zu Ihrem lokalen Benutzerverzeichnis (es ist / c / Users / X / in der virtuellen Maschine zugeordnet)