Ich habe jetzt die Docker Toolbox installiert und erhalte den Fehler für alles:
Get http://127.0.0.1:2375/v1.20/version: dial tcp 127.0.0.1:2375: ConnectExtcp: No connection could be made because the target machine actively refused it..
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?
docker version
Ausgabe:
Client:
Version: 1.8.1
API version: 1.20
Go version: go1.4.2
Git commit: d12ea79
Built: Thu Aug 13 02:49:29 UTC 2015
OS/Arch: windows/amd64
Get http://127.0.0.1:2375/v1.20/version: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection could be made because the target machine actively refused it..
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?
Die VM wird jedoch unter VirtualBox ausgeführt. Ich habe überall gesucht, kann aber keine Lösung finden.
UPDATE1 : Ich verwende Windows 8.1 und habe auch versucht, Kinematic zu starten.
UPDATE2: Als ich Virtualbox Test Build 5.0.3 oder höher ausprobierte, funktionierte alles wie ein Zauber. Sie können hier herunterladen: https://www.virtualbox.org/wiki/Testbuilds
Antworten:
Renn einfach:
Rufen Sie den Computernamen ab und führen Sie Folgendes aus:
und du solltest so etwas bekommen:
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:
docker ...
Befehle an den Linux-Host gesendet und alles funktioniert fast wie natives LinuxDas 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 die
ls
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-ShellIn Bezug auf den Zertifikatfehler habe ich versucht, die Zertifikate aus der virtuellen Maschine heraus neu zu generieren.
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)
quelle
open C:\Users\<my_username>\.docker\machine\machines\default\ca.pem: The system cannot find the file specified.
. Und als ich ins Verzeichnis kam, gibt es dort keine Zertifikate.docker-machine regenerate-certs default
aber es bleibt für immer hängen ."C:\Program Files\Docker Toolbox\docker-machine" ls
Sie hier eine Zusammenfassung meiner Arbeit : 1) 2) Installieren Sie einen nahezu virtuellen Build von Virtual Box 3)docker-machine regenerate-certs default
(vor der Installation eines virtuellen Builds für nahezu diesen Build endeten diese Befehle nie) 4)"C:\Program Files\Docker Toolbox\docker-machine" env default --shell=cmd
5 ) Öffnen Sie Docker Terminal und setzen Sie die Variablen 6) Schließen Sie Docker Terminanl und öffnen Sie es erneut, jetzt funktioniert es ;-)Folgendes hat bei mir funktioniert (Docker Toolbox 1.8.1b und Windows 7). Es ist eine vereinfachte Version dessen, was @ baptiste-gaillard in den obigen Kommentaren beschrieben hat. Kurze Antwort: Verwenden Sie VirtualBox 5.03 oder höher von Anfang an.
Das Schnellstart-Skript scheint mit VirtualBox 5.03 hinsichtlich der Erstellung der erforderlichen TLS-Schlüssel besser zurechtzukommen.
quelle
taskkill -f -pid [PID_LISTED]
alle PIDs aus, und die Installation sollte ordnungsgemäß fortgesetzt werden.Hatte das gleiche Problem wie Sie gezeigt und habe es vor ein paar Stunden behoben.
Sie müssen lediglich Hyper-V deaktivieren. Führen Sie eine Eingabeaufforderung mit Administratorrechten aus und führen Sie den folgenden Befehl aus:
Starten Sie Ihren PC neu, öffnen Sie die Virtualbox und löschen Sie die Standard-VM nach dem Neustart. Kehren Sie zum Docker-Schnellstart-Terminal zurück und geben Sie den folgenden Befehl ein:
und du bist fertig! Hoffe, es löst Ihr Problem
quelle
das funktioniert bei mir
1) Starten Sie zuerst das Befehlszeilentool und rufen Sie die IP-Adresse des Computers durch Ausführen ab
Docker-Maschine ls Befehl
2) Generieren Sie Zertifikate neu Docker-Maschine Regenerieren-Zertifikate
3) Stellen Sie die evn-Variablen manuell ein, in meinem Fall war die Position der Zertifikate unterschiedlich
setze DOCKER_TLS_VERIFY = 1
setze DOCKER_HOST = tcp: // machine_IP: 2376
Setzen Sie DOCKER_CERT_PATH = C: \ Users \ X.docker \ machine \ certs
setze DOCKER_MACHINE_NAME = default
Führen Sie nun die Docker-Version aus
Hier ist die Ausgabe in meinem Fall
Client: Version: 1.8.1 API-Version: 1.20 Go-Version: go1.4.2 Git-Commit: d12ea79 Erstellt: Do 13. August 02:49:29 UTC 2015 OS / Arch: windows / amd64
Server: Version: 1.8.1 API-Version: 1.20 Go-Version: go1.4.2 Git-Commit: d12ea79 Erstellt: Do 13. August 02:49:29 UTC 2015 OS / Arch: linux / amd64
quelle
Bei der Installation der Docker Toolbox (in 1.8.x) wird Ihr Docker-Daemon standardmäßig so konfiguriert, dass eine sichere Verbindung über das TLS-Protokoll (Version 1.8) verwendet wird.
Wenn Sie eine ältere Version des Daemons verwendet haben, die nicht gesichert war, bedeutet dies mindestens zwei Dinge: - Die Portnummer wurde von 2375 auf 2376 geändert. - Ihr Daemon-Client muss ein Zertifikat vorlegen, um mit Ihrer Docker-Engine / Ihrem Docker-Server zu kommunizieren.
Die Antwort von sandiindia zeigt also die Umgebungsvariablen an, die dem Docker-Client genau die gute Konfiguration für die Verbindung zum Docker-Server / der Docker-Engine geben:
Die Docker-Dokumentation zur TLS-Konfiguration: https://docs.docker.com/articles/https/
Ich hoffe, es hilft ;)
quelle
Tun Sie dies nun in der richtigen Reihenfolge:
Es ist wichtig, das nicht zu tun das Docker Quickstart Terminal nicht vor Kitematic öffnen, da Kitematic die Dinge für das Docker Quickstart Terminal initialisiert
Ich musste keine Befehlszeile ausführen.
Ich hoffe das wird einem Körper helfen ..
quelle
Auch ich hatte das gleiche Problem, aber ich konnte es lösen, ohne etwas in die Befehlszeile eingeben zu müssen. Es funktionierte sofort.
Es stellte sich heraus, dass einige Initialisierungsschritte fehlten, wie in der akzeptierten Antwort oben ausgeführt. Warum hat die Standard-Docker-Installation dies nicht bereits getan? Ich hatte auch fehlende Zertifikate. Also habe ich alles deinstalliert und von Grund auf neu gestartet. Öffnen Sie nach Abschluss der Installation dieses Mal jedoch nicht zuerst das Docker-Schnellstart-Terminal, sondern Kitematic, um die erste Initialisierung für Sie durchzuführen .
Kitematic hat die Zertifikate für mich erstellt, die fehlenden env-Variablen festgelegt und dann das Docker-Schnellstart-Terminal geöffnet. Ich tippte
docker run hello-world
danndocker version
und diesmal funktionierte es wie erwartet, keine Fehlermeldungen.Beachten Sie, dass dies nicht funktioniert hat, als ich das Schnellstart-Terminal zuerst geöffnet habe .
Ich teste Docker in VMWare 10-Instanzen und konnte dieses Problem und seine Lösung (Problemumgehung) in jedem Fall duplizieren.
Ich hoffe das hilft.
quelle
Ich habe mein Problem behoben, indem ich einfach die Standard-VM im VirtualBox-Manager entfernt, den PC neu gestartet (nur für den Fall) und dann Docker Quickstart Terminal erneut ausgeführt habe. Das ist es.
Docker 1.8.2 und Virtual Box 5.0.4
quelle
docker run hello-world
Und du bist fertig.
quelle
Löschen und entfernen Sie alle alten v.machines auf Ihrem Laptop: 1. Öffnen Sie VirtualBox, klicken Sie mit der rechten Maustaste auf "Standard", Entfernen, "Alle Dateien löschen". 2. Eingabeaufforderung (Als Administrator ausführen)> Docker-Maschine rm default
Deinstallieren Sie Virtualbox, Docker Toolbox und Git. Navigieren Sie zu c: \ Users \ Vinita und löschen Sie die Verzeichnisse. .docker und .Virtualbox CClean Dateien und Registrierung. Starten Sie neu.
Die Reinigung ist abgeschlossen.
I. Laden Sie die neueste Version der Docker-Tools für Windows (1.10.2) von der Docker Toolbox herunter. Klicken Sie mit der rechten Maustaste auf die heruntergeladene Datei und klicken Sie auf "Als Administrator ausführen". Dies wird installiert - Docker Quickstart, Kitematic und Virtualbox.
II. Laden Sie die neueste Testversion von VirtualBox (5.01.15-105696-win.exe) von Testbuilds - Oracle VM VirtualBox herunter. Führen Sie erneut als Administrator aus.
(Sie können alle Warnungen ignorieren und auf der bereits von Docker installierten VirtualBox überschreiben.)
Bisher nichts Außergewöhnliches. Wir haben die Software gerade mit Administratorrechten installiert. Jetzt Systemsteuerung> Netzwerk- und Freigabecenter> Adaptereinstellungen ändern: Klicken Sie mit der rechten Maustaste auf VirtualBox Host-Only Network # 2 für Eigenschaften. Aktivieren Sie> VirtualBox NDIS6 Bridged Networking-Treiber. (Wenn es bereits aktiviert ist, deaktivieren Sie es und überprüfen Sie es erneut.)
Du bist fertig. Dies ist das einzige Update, das wir eingesetzt haben!
Sowohl Kitematic als auch Docker Quickstart sollten jetzt funktionieren.
Klicken Sie mit der rechten Maustaste auf Kitematic und führen Sie das erste Mal als Administrator aus. Getestet unter Windows 10.
quelle
Mit Docker 1.8.1d hatte das gleiche Problem, nachdem 1.8.1c deinstalliert wurde. Eventuell behobenes Problem durch Installation der neuesten Virtual Box (5.0.18), Neustart nach Aufforderung und Starten von Kitematic. Kitematic schlägt zunächst fehl und bietet die Möglichkeit, die von mir durchgeführte VM zu entfernen und erneut zu installieren. Danach war mein QuickStart-Terminal in Ordnung.
quelle
Es klingt wie das Problem mit der virtuellen Box. In meinem Fall habe ich die folgenden Schritte ausgeführt, um das Problem zu beheben
quelle
Dies ist mir unter Windows 10 mit VirtualBox 5.0.14 einige Male passiert.
Es scheint damit zu tun zu haben, dass VirtualBox nicht richtig heruntergefahren wurde (glaube ich) - zum Beispiel ein Stromausfall!
Fahren Sie die Docker-VM herunter
Kitematic schließen
Starten Sie das Docker-Schnellstartterminal
Geben Sie das Terminal ein:
Wenn dies nicht funktioniert, versuchen Sie es erneut mit 1-3 und versuchen Sie diesmal, Zertifikate neu zu generieren. Führen Sie dann Schritt 4 aus.
Eine seltsame Sache ist, dass das Terminal
docker images
sie nicht auflistet, sondern angibt, dass keine Verbindung zu 127.0.0.1:2375 hergestellt werden kann (docker-machine ls
zeigt jedoch den Standardcomputer an, der unter 192.168.99.100:2376 ausgeführt wird).quelle
Ich habe genau den gleichen Fehler festgestellt, als ich Docker-Images nach einem Systemneustart ausführte. Ich habe Docker Version 1.10 unter Windows 7 64-Bit mit Virtualbox 5.0.10 und Mintty verwendet (das Terminal wird mit Git für Windows geliefert).
Das Ausführen der Docker-Maschine hat mir gezeigt, dass sich die virtuelle Maschine im Timeout-Status befindet.
$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default virtualbox Timeout
Also habe ich die virtuelle Maschine neu gestartet.$ docker-machine restart default
Dann habe ich den Status erneut$ docker-machine ls Unable to query docker version: Get https://192.168.56.101:2376/v1.15/version: x509: certificate is valid for 192.168.99.101, not 192.168.56.101
aufgelistet$ docker-machine regenerate-certs default
und mir mitgeteilt, dass das Zertifikat an eine falsche Adresse gebunden ist: Dann habe ich das Zertifikat neu generiert und schließlich$ eval $(docker-machine env default --shell=bash)
funktioniert Docker wieder!quelle
Erstellen Sie einfach den Standardcomputer neu und führen Sie ihn aus
Für mich geht das.
quelle
Wenn Sie Docker für Windows (Beta) verwenden, gehen Sie folgendermaßen vor:
quelle
Auf meiner nicht virtuellen Maschine wurde der gleiche Fehler angezeigt. Die folgenden Schritte haben bei mir funktioniert
Klicken Sie mit der rechten Maustaste auf Docker-> Unter Einstellungen-> Allgemein. Haben Sie Expose-Daemon auf tcp: // localhost: 2375 ohne TLS aktiviert? Sie müssen, wenn Sie wie beschrieben auf den Dämon zugreifen möchten. Beachten Sie jedoch, dass diese Einstellung unsicher ist, wie in der Warnung erläutert.
quelle
Ich hatte das gleiche Problem mit Docker Toolbox unter Windows 10 Home. Die Schritte zur Behebung des Problems von hier aus :
docker-machine ls
eine Liste zu bekommen, sollten Sie wahrscheinlich sehen:default
:Mach dir keine Sorgen, wenn sagt:
docker version
und etwas zu sehen wie:quelle
Mein Problem war "... Fehler beim Abrufen der IP-Adresse". Vielen Dank an alle Personen hier, die ihre Lösungen beigesteuert haben, die ich gelesen und die folgenden Schritte ausgeführt habe:
Schließen Sie Docker
Öffnen Sie den VirtualBox Manager
Standard-VM löschen
Starten Sie zuerst Kitematic (ich denke, das ist wichtig)
Starten Sie Docker
quelle