Ich bin mir nicht sicher, ob dies die richtige Community ist, um nach meinem Problem zu fragen, da ich tatsächlich versuche, docker
innerhalb der cygwin
Umgebung zu starten windows
. Nach der Installation der Docker Toolbox versuche ich, docker version
in meiner Cygwin-Shell zu starten und Folgendes zu erhalten:
$ docker version
Could not read CA certificate "\\cygdrive\\c\\Users\\Alexey\\.docker\\machine\\machines\\default\\ca.pem": open \cygdrive\c\Users\Alexey\.docker\machine\machines\default\ca.pem: The system cannot find the path specified.
Die eigentliche Datei /cygdrive/c/Users/Alexey/.docker/machine/machines/default/ca.pem ist jedoch vorhanden. Das Problem scheint in falschen Schrägstrichen (Windows vs UNIX) im Pfad zur Zertifikatdatei zu liegen. Aber ich kann nicht herausfinden, wo ich das Problem beheben kann.
Hier sind die in ~ / .bash_profile festgelegten env-Variablen:
export DOCKER_HOST=tcp://192.168.99.100:2376
export DOCKER_MACHINE_NAME=default
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=/cygdrive/c/Users/Alexey/.docker/machine/machines/default
export TERM=cygwin
AKTUALISIEREN
Alexey@Alexey-PC ~
$ echo $DOCKER_CERT_PATH
/cygdrive/c/Users/Alexey/.docker/machine/machines/default/
Alexey@Alexey-PC ~
$ docker version
Could not read CA certificate "\\cygdrive\\c\\Users\\Alexey\\.docker\\machine\\machines\\default\\ca.pem": open \cygdrive\c\Users\Alexey\.docker\machine\machines\default\ca.pem: The system cannot find the path specified.
LÖSUNG Wie unten von @cloverhap vorgeschlagen, müssen wir die DOCKER_CERT_PATH
Umgebungsvariable festlegen , aber sie sollte den Windows-Pfad enthalten, nicht Cygwin. Außerdem sollten die Backslashes maskiert werden. Die Lösung besteht darin, Folgendes hinzuzufügen:
export DOCKER_CERT_PATH=C:\\Users\\%USERNAME%\\.docker\\machine\\machines\\default
zu .bash_profile
cgroups
,lxc
usw.).boot2docker
ein System ersetzt, das den clientseitigendocker
Befehl aktiviertWindows
. Derdocker
Daemon und die VMs werden in einer virtuellen Linux-Maschine ausgeführt.docker version
,docker run hello-world
,docker run -d -p 80:80 --name webserver nginx
) in Cygwin aus dem Kasten heraus .Antworten:
In meiner Cygwin-Umgebung ist der Docker-Zertifizierungspfad wie folgt festgelegt, und Docker scheint einwandfrei zu funktionieren.
Das Folgende gibt tatsächlich einen Fehler
Versuchen Sie also, DOCKER_CERT_PATH in das normale Windows-Pfadformat zu ändern.
Meine Docker-Version ist 1.10.1, wenn die Ergebnisse unterschiedlich sind.
quelle
export DOCKER_CERT_PATH=C:\Users\user\.docker\machine\machines\default
. Haben Sie das auch versucht?/cygdrive/c/Users/Alexey/.docker/machine/machines/default/
als Pfad zu verwenden, sondern das Windows-FormatC:\Users\Alexey\.docker\machine\machines\default
Ich hatte das gleiche Problem und stellte fest, dass bei der Installation von Docker auf meinem Windows 10-System ein Programm namens "Docker Quickstart Terminal" installiert wurde. Wenn Sie das ausführen, gibt if eine Bash-Shell und Sie können Ihren Docker-Befehl in diesem Terminal ausführen. Es ist vielleicht nicht Cygwins Bash, aber was nun?
Das startet das…
quelle
Keine der hier angegebenen Lösungen hat bei mir funktioniert. Ich habe festgestellt, dass Sie selbst mit Cywin den Proxy in der GUI von Docker Desktop konfigurieren müssen:
Danach konnte ich laufen:
quelle