Docker machine timeout - wie kann man das ohne Zerstörung der Maschine?
Ich habe ein immer wiederkehrendes problem mit Docker Machine - alle paar Tage, Sie beschließt, timeout und ich bin nicht in der Lage, Sie wiederherzustellen, sobald dies geschieht.
Beispiel
docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default virtualbox Timeout
Umwelt Info
uname -a Darwin ColeyMBPR 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64
docker version 1.11.0
docker-machine version 0.7.0
vboxmanage --version 5.0.20r106931
Versucht Lösungen
Ich habe versucht, die folgenden Dinge in keiner bestimmten Reihenfolge:
- Neustart des andockfensters Maschine.
- Läuft
eval "$(docker-machine env default)"
- Neugenerierung der Zertifikate
docker-machine regenerate-certs default
- Neustart mein host-box.
- Upgrade Andockfenster.
- Neuinstallation Von Docker.
- Upgrade Von VirtualBox.
- Entfernen Sie alle VirtualBox-host-only-Netzwerk-Geräte.
Hack
Die einzige Sache, die für mich arbeiten, jetzt ist die Zerstörung der docker-Maschine und neu zu erstellen. Das zerstört all meine Bilder und Behälter, und es ist unglaublich zeitaufwendig, um es einzurichten wieder.
docker-machine rm -y default && docker-machine create -d virtualbox default && eval $(docker-machine env)
Ist es etwas, was ich versuchen kann? Danke!
Update: 9. Mai (Steps to Reproduce)
Kann ich zuverlässig reproduzieren des Problems die folgenden Schritte aus:
- Beginnen Sie mit einem frisch erstellten Docker machine.
- Verwenden
docker-compose up
zu bauen, einige Container. - Herunterfahren des Computers mit den Behältern ausgeführt werden.
- Nach Neustart des Docker-CLI funktioniert nicht aufgrund der Docker machine timing.
- tut docker-Maschine ssh-Standard-Werke?
- Ja tut es. 🙂
- so Befehle wie " docker ps nicht funktioniert? aber ssh funktioniert?
- Versuchen Sie die Umstellung auf das neue Andockfenster (beta) Lösung
- Ja, das ist richtig.
- Ich habe genau die gleichen Probleme. In der Lage, ssh, nicht in der Lage, um es aktiv zu machen.
- Upgrade auf Docker beta für mich gearbeitet.
- Ich habe versucht, zu stöbern und dann läuft
docker-machine upgrade
gemacht, alles Weg. - Die neueste version von Docker nicht diese Probleme haben. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Befehl funktionierte bei mir mit der digitalocean Treiber:
docker-machine ls -t 20
Es scheint, als ob die Standard-timeout von 10 Sekunden zu kurz war.
Dies ist in der Regel ein problem mit der Art und Weise, die Sie starten und stoppen Sie Ihre Maschine.
U es lösen kann mit
$ docker-Maschinen-stop-default
$ docker-Maschine-start default
$ docker-Maschine-regenerieren-CERT Standard
Nicht mit "docker-Computer-Neustart Voreinstellung" denn es wird nicht aktualisieren Sie Ihre Netzwerk-configs.
Ich hatte das gleiche Problem mit Docker version 1.11.2, bauen b9f10c9
dieser arbeitete für mich - meine Andockfenster Maschine ist wieder auf dem Status "wird Ausgeführt"
$ docker-Maschine neu starten
$ eval $(docker-Maschine-env)
Bisher habe ich ein bisschen hacky Lösung - dies behebt das Andockfenster Maschine, sondern zerstört alle Behälter und Bilder.
Skript: rebuild-machine.sh
Erklärung
Mein problem war sehr einfach. Ich war das blockieren von port 2376 mit meinem ufw firewall. Docker-Maschine muss dieser port offen ist, um eine Verbindung zu dem remote.
Ich fand die Antwort auf mein problem auf dieser Seite:
Dieser arbeitete für mich und meine Container wurden nicht zerstört :
Neustart der VM auf docker machine
$ docker-Maschine neu starten, Standard -
docker-version: 1.12.3
docker-Maschine version: 0.8.2, bauen e18a919
Habe ich virtualbox geöffnet und geschlossen und beginnen die vm manuell/. Zustand ist
running
wiederMein problem sehr trivial - ich habe "Andockfenster Maschine ls" - Befehl direkt nach dem Neustart docker machine, also es war noch nicht läuft und verursacht timeout.