Machine: Docker-Maschine erstellen hängt mit Treiber Virtualbox: SSH cmd err, Ausgabe: Exit-Status 255:

Erstellt am 27. Juli 2015  ·  68Kommentare  ·  Quelle: docker/machine

# docker -v && docker-machine -v && docker-compose -v
Docker version 1.6.2, build ba1f6c3/1.6.2
docker-machine version 0.3.1 (40ee236)
docker-compose version: 1.3.3
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013
# rpm -qa | grep virtual -i
VirtualBox-4.3-4.3.30_101610_el7-1.x86_64

Docker-Maschine erstellen hängt , die Debug-Protokolle :

Getting to WaitForSSH function...
Testing TCP connection to: localhost:45105
Using SSH client type: external
About to run SSH command:
exit 0
&{/usr/bin/ssh [/usr/bin/ssh -o PasswordAuthentication=no -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -i /root/.docker/machine/machines/dev2/id_rsa -p 45105 docker<strong i="8">@localhost</strong> exit 0] []  <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> false [] [] [] [] <nil>}
SSH cmd err, output: exit status 255: 
Error getting ssh command 'exit 0' : exit status 255
Getting to WaitForSSH function...
Testing TCP connection to: localhost:45105
Using SSH client type: external
About to run SSH command:
exit 0
&{/usr/bin/ssh [/usr/bin/ssh -o PasswordAuthentication=no -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -i /root/.docker/machine/machines/dev2/id_rsa -p 45105 docker<strong i="9">@localhost</strong> exit 0] []  <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> false [] [] [] [] <nil>}
SSH cmd err, output: exit status 255: 
Error getting ssh command 'exit 0' : exit status 255
... ...
drivevirtualbox

Alle 68 Kommentare

Ich glaube, das ist das gleiche Problem, das ich unter MacOSX habe. Ich habe einige Male versucht, eine neue VirtualBox Dev VM von Grund auf neu zu erstellen. Habe .docker / gereinigt und sogar von VBOX 5 herabgestuft.

% docker-machine --version
docker-machine version 0.3.0 (0a251fe)
% VirtualBox --help | head -n 1
Oracle VM VirtualBox Manager 4.3.30
% docker-machine ls
error getting URL for host dev: exit status 255
NAME   ACTIVE   DRIVER       STATE     URL   SWARM
dev    *        virtualbox   Running
Lassen Sie mich wissen, welche spezifischen Protokolle / Informationen Sie möglicherweise benötigen. Das Folgende ist meine Debug-Protokoll-Information:
 STDERR:
 Ausführen: / usr / bin / VBoxManage modifyvm docker-vm --nic2 hostonly --nictype2 82540EM --hostonlyadapter2 vboxnet2 --cableconnected2 on
 STDOUT:
 STDERR:
 Ausführen: / usr / bin / VBoxManage modifyvm docker-vm --natpf1 delete ssh
 STDOUT:
 STDERR: VBoxManage: Fehler: Code NS_ERROR_INVALID_ARG (0x80070057) - Ungültiger Argumentwert (erweiterte Informationen nicht verfügbar)
 VBoxManage: Fehler: Kontext: "RemoveRedirect (Bstr (ValueUnion.psz) .raw ())" in Zeile 1717 der Datei VBoxManageModifyVM.cpp
 Ausführen von: / usr / bin / VBoxManage modifyvm docker-vm --natpf1 ssh, tcp, 127.0.0.1.50083 ,, 22
 STDOUT:
 STDERR:
 Ausführen: / usr / bin / VBoxManage startvm docker-vm - Typ ohne Kopf
 STDOUT: Warten auf das Einschalten der VM "docker-vm" ...
 VM "docker-vm" wurde erfolgreich gestartet.
 STDERR:
 Starten der VM ...
 Aufrufen der WaitForSSH-Funktion ...
 Testen der TCP-Verbindung zu: localhost: 50083
 Verwenden des SSH-Clienttyps: extern
 So führen Sie den SSH-Befehl aus:
 Ausfahrt 0
 & {/ usr / bin / ssh [/ usr / bin / ssh -o PasswortAuthentication = nein -o IdentitiesOnly = yes -o StrictHostKeyChecking = nein -o UserKnownHostsFile = / dev / null -o LogLevel = quiet -o ConnectionAttempt = 3 -o ConnectTimeout = 10 -i /Users/tehmasp/.docker/machine/machines/docker-vm/id_rsa -p 50083 docker @localhost exit 0] [][]? reflektieren.Wert? false [] [] [] []}}
 SSH cmd err, Ausgabe: Exit-Status 255:
 Fehler beim Abrufen des SSH-Befehls 'exit 0': Exit-Status 255
 Aufrufen der WaitForSSH-Funktion ...
 Testen der TCP-Verbindung zu: localhost: 50083
 Verwenden des SSH-Clienttyps: extern
 So führen Sie den SSH-Befehl aus:
 Ausfahrt 0
 & {/ usr / bin / ssh [/ usr / bin / ssh -o PasswortAuthentication = nein -o IdentitiesOnly = yes -o StrictHostKeyChecking = nein -o UserKnownHostsFile = / dev / null -o LogLevel = quiet -o ConnectionAttempt = 3 -o ConnectTimeout = 10 -i /Users/tehmasp/.docker/machine/machines/docker-vm/id_rsa -p 50083 docker @localhost exit 0] [][]? reflektieren.Wert? false [] [] [] []}}
 SSH cmd err, Ausgabe: Exit-Status 255:
 Fehler beim Abrufen des SSH-Befehls 'exit 0': Exit-Status 255
 Aufrufen der WaitForSSH-Funktion ...
 Testen der TCP-Verbindung zu: localhost: 50083
 Verwenden des SSH-Clienttyps: extern
 So führen Sie den SSH-Befehl aus:
 Ausfahrt 0
 & {/ usr / bin / ssh [/ usr / bin / ssh -o PasswortAuthentication = nein -o IdentitiesOnly = yes -o StrictHostKeyChecking = nein -o UserKnownHostsFile = / dev / null -o LogLevel = quiet -o ConnectionAttempt = 3 -o ConnectTimeout = 10 -i /Users/tehmasp/.docker/machine/machines/docker-vm/id_rsa -p 50083 docker @localhost exit 0] [][]? reflektieren.Wert? false [] [] [] []}}
 SSH cmd err, Ausgabe: Exit-Status 255:
 Fehler beim Abrufen des SSH-Befehls 'exit 0': Exit-Status 255
 Aufrufen der WaitForSSH-Funktion ...
 Testen der TCP-Verbindung zu: localhost: 50083
 Verwenden des SSH-Clienttyps: extern
 So führen Sie den SSH-Befehl aus:
 Ausfahrt 0
 & {/ usr / bin / ssh [/ usr / bin / ssh -o PasswortAuthentication = nein -o IdentitiesOnly = yes -o StrictHostKeyChecking = nein -o UserKnownHostsFile = / dev / null -o LogLevel = quiet -o ConnectionAttempt = 3 -o ConnectTimeout = 10 -i /Users/tehmasp/.docker/machine/machines/docker-vm/id_rsa -p 50083 docker @localhost exit 0] [][]? reflektieren.Wert? false [] [] [] []}}

Ich kann mich manuell bei der VM anmelden und es scheint in Ordnung zu sein. Ich denke, das Problem ist, dass die Docker-Maschine den Status nicht korrekt abrufen kann.

Ich habe eine Docker-Maschinen-Umgebung, mit der ich arbeiten kann:

% docker-machine --version
docker-machine version 0.4.0-rc1 (f6ea2c1)

(FYI - Manuell installiert, da Homebrew-Cask noch nichts Neueres als v0.3.0 hat.)

Bei 'create' hing die Docker-Maschine jedoch immer noch und ich musste 'Zertifikate' für meine 'Docker-VM' neu generieren, damit eine 'Docker-Maschine env Docker-VM' vollständig funktioniert.

Stellen Sie es für alle anderen zur Verfügung, die ähnliche Probleme haben. Zumindest habe ich jetzt eine funktionierende Docker-Maschinen-Umgebung - ohne auf boot2docker zurückgreifen zu müssen. Nur den ganzen Tag damit verschwendet :(

@tehmaspc das gleiche Problem mit Ihnen, und ich habe keine Lösung gefunden

@tehmaspc danke für das Feedback und entschuldige das Problem :( Leider ist dies normalerweise auf das Virtualbox-Netzwerk zurückzuführen. Danke für das Feedback, das v0.4.0-rc1 behoben hat.

@opskumu würde es Ihnen etwas

Ich sehe das gleiche auf MacOS X Yosemite 0.4.0-rc1

docker-machine create --driver=virtualbox --virtualbox-disk-size "40000" local
No default boot2docker iso found locally, downloading the latest release...
Downloading https://s3.amazonaws.com/docker-mcn/public/b2d-next/boot2docker-virtualbox.iso to /Users/wmillerx/.docker/machine/cache/boot2docker-virtualbox.iso...
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...

Hängt einfach für immer ...

Env Info:

sw_vers
ProductName:    Mac OS X
ProductVersion: 10.10.4
BuildVersion:   14E46
docker --version
Docker version 1.7.1, build 786b29d
docker-machine --version
docker-machine version 0.4.0-rc1 (f6ea2c1)
vboxmanage --version
5.0.0r101573

FWIW, ich habe ein Downgrade auf 4.3.x VBOX durchgeführt und einen Befehl zum Wiederherstellen des Zertifikats ausgeführt, um dies zu überwinden. Stellen Sie sicher, dass Sie dies mit einer neuen VM versuchen. Viel Glück.

@opskumu @ wmiller848 - also bin ich gerade auf dieses Problem https://github.com/docker/machine/issues/1572

Ich verwende SSH-Multiplexing in meiner ~ / .ssh / config-Datei. Ich habe diese Einstellungen gerade deaktiviert und die Docker-Maschine funktioniert ordnungsgemäß. Selbst meine oben beschriebene Problemumgehung funktionierte nicht wirklich konsistent, aber bei deaktiviertem SSH-Multiplexing scheint dies die Lösung gewesen zu sein.

Sie fragen sich, ob Sie SSH-Multiplexing aktiviert haben?

Meine ~ / .ssh / config-Datei lautet jetzt:

 % cat ~ / .ssh / config
 Host *
 TCPKeepAlive ja
 ServerAliveInterval 10
 ServerAliveCountMax 10
 ForwardAgent ja
 # ControlMaster auto
 # ControlPath ~/.ssh/sockets/%r@%h-%p
 # ControlPersist 300

Prost,
Tehmasp

Das Deaktivieren des SSH-Multiplexing hat auch bei mir funktioniert (unter OS X 10.10.4). Vielen Dank, dass Sie @tehmaspc!

@ehazlett Ich habe bereits die 0.4.0 getestet, es funktioniert auch nicht.

# docker-machine -v
docker-machine version 0.4.0 (9d0dc7a)
# cat /etc/centos-release 
CentOS Linux release 7.1.1503 (Core)

@tehmaspc Diablling SSH-Multiplexing funktioniert auch bei mir nicht.

Es gibt auch ein Problem unter Win10 mit Docker-Maschine 0.4.0:

{ ~ }  » docker-machine.0.4.0 ls                                                                                                ~ 1
NAME      ACTIVE   DRIVER       STATE     URL   SWARM
default            virtualbox   Timeout
dev                virtualbox   Timeout
{ ~ }  » docker-machine.0.3.1 ls                                                                                              ~ 127
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM
default            virtualbox   Stopped
dev                virtualbox   Running   tcp://192.168.99.102:2376

Ich bin mir nicht sicher, ob dies hilft, aber nach ähnlichen Problemen bemerkte ich, dass der SSH-Port nicht in der Konfigurationsdatei meines Computers festgelegt war ( ~/.docker/machine/machines/<machine_name>/config.json ). Folglich hat docker-machine immer versucht, auf Port 22 zu ssh. Nachdem ich dies manuell eingestellt hatte, funktionierte alles für mich.

Das Entfernen der Multiplex-Einstellungen in meiner SSH-Konfiguration hat dies für mich behoben. Nichts anderes, was ich in einer der anderen offenen Fragen versucht habe, hat funktioniert, aber jetzt scheint alles großartig zu funktionieren.

Vielleicht sollte das VM-Setup-Skript die Verwendung der Option SSH -o in Betracht ziehen, um das Multiplexen beim Herstellen von Verbindungen zu deaktivieren?

@chrisfosterelli yup +1;

cc @ehazlett - viele Menschen haben weiterhin dieses Problem; sollten wir das stoßen?

Vielen Dank,
@tehmaspc

Das Problem wurde so getroffen und verfehlt. Es wäre großartig, die potenzielle Lösung mit allen, die Teil dieser Diskussion sind, zusammenzutragen, um das Problem zu lösen.

Das Entfernen von ssh-Mutliplexing hat dies auch für mich behoben.

Hat jemand festgestellt, dass das Deaktivieren von SSH-Multiplexing das Problem unter Linux im Gegensatz zu Mac behoben hat? Ich sehe immer noch ein Problem unter Ubuntu, wenn es deaktiviert ist. Die Leute sagen, es hat das Problem für sie behoben, aber beachten Sie nicht Linux, Windows oder Mac.

Ich habe kein SSH-Multiplexing aktiviert, aber ich sehe immer noch dieses Problem.
@ wmiller848 : hast du eine lösung für dieses problem gefunden?
Hier ist meine Umgebung:
~ $ docker --version; Docker-Maschine - Version; VBoxManage --version
Docker Version 1.9.0-dev, Build 0e3674d, experimentell
Docker-Maschine Version 0.4.1 (e2c88d6)
5.0.0r101573

~ $ sw_vers
Produktname: Mac OS X.
Produktversion: 10.10.4
BuildVersion: 14E46

Ich sehe auch den folgenden Fehler:

SSH cmd err, output: exit status 255: 
Error getting ssh command 'exit 0' : exit status 255

Ich habe die Standardinstallation von Docker Machine verwendet und VirtualBox installieren lassen, da ich sie noch nicht auf diesem bestimmten Computer hatte. Das einzige, was ich möglicherweise seltsam finde, ist eine Homebrew-Version von OpenSSH mit strengen Krypto-Anforderungen. Hier sind die Details meiner Umgebung:

sw_vers
ProductName:    Mac OS X
ProductVersion: 10.10.5
BuildVersion:   14F27
docker --version
Docker version 1.8.1, build d12ea79
docker-machine --version
docker-machine version 0.4.1 (e2c88d6)
vboxmanage --version
5.0.2r102096
ssh -V
OpenSSH_7.0p1, OpenSSL 1.0.2d 9 Jul 2015
cat ~/.ssh/config 
#Defaults for all my hosts
Host *
    AddressFamily inet
    Ciphers [email protected],[email protected]
    ForwardX11 no
    ForwardX11Trusted no
    KexAlgorithms [email protected]
    MACs [email protected],[email protected],[email protected]
    Protocol 2
    VisualHostKey yes  
    HashKnownHosts yes
#host specific stuff..

Das gleiche Problem haben.

$ vboxmanage --version
5.0.2r102096
$ docker-machine --version
docker-machine version 0.4.1 (e2c88d6)

Ich weiß nicht warum, aber mein Problem ist eine schlechte config.json für den Computer. Es fehlen die IP und der Port des Computers.

Ich habe auch das gleiche Problem ... Ich benutze boot2docker, bis dies behoben ist.

vboxmanage --version
4.3.14r95030

docker-machine -version
docker-machine version 0.4.1 (e2c88d6)

docker version
Client:
 Version:      1.8.1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   d12ea79
 Built:        Thu Aug 13 19:47:52 UTC 2015
 OS/Arch:      darwin/amd64

Ich habe hier das gleiche Problem:

$ docker --version; docker-machine --version; VBoxManage --version; sw_vers                                                                                              2.2.2 16:52
Docker version 1.8.1, build d12ea79
docker-machine version 0.4.1 (e2c88d6)
5.0.3r102322
ProductName:    Mac OS X
ProductVersion: 10.10.5
BuildVersion:   14F27

Vielen Dank

Gleiches Problem hier:

$ docker --version; docker-machine --version; VBoxManage --version; sw_vers
Docker version 1.8.1, build d12ea79
docker-machine version 0.4.1 (e2c88d6)
4.3.22r98236
ProductName:    Mac OS X
ProductVersion: 10.10.5
BuildVersion:   14F27

Ich habe VBox von 5.x auf 4.3.x heruntergestuft und es hat einige Stunden funktioniert und dann den gleichen SSH-Fehler ausgegeben.

Ich habe das gleiche Problem. Ich habe eine Problemumgehung für diesen Fehler gefunden:

$ docker-machine --native-ssh create -d virtualbox test

Danke @ecylmz. +1 für Ihre Problemumgehung. Ich habe diesen Fehler immer noch gesehen, aber die Maschine wurde erfolgreich erstellt.

STDERR: Ausführen von: / usr / local / bin / VBoxManage modifyvm imc --natpf1 delete ssh

STDERR: VBoxManage: Fehler: Code NS_ERROR_INVALID_ARG (0x80070057) - Ungültiger Argumentwert (erweiterte Informationen nicht verfügbar)
VBoxManage: Fehler: Kontext: "RemoveRedirect (Bstr (ValueUnion.psz) .raw ())" in Zeile 1766 der Datei VBoxManageModifyVM.cpp

Ein großes Lob an Problemumgehung , es hat auch bei mir funktioniert. Die einzige Einschränkung ist, dass ich docker-machine --native-ssh für jeden docker-machine Befehl ausführen muss (wie docker-machine env vm_name ).

Es ist auch erwähnenswert, dass ein Upgrade auf Docker Toolbox 1.8.1c dieses Problem nicht behoben hat.

--native-ssh Workaround hat auch bei mir funktioniert

--native-ssh hat bei mir funktioniert. : +1: @ecylmz

Nur zu Ihrer Information, wenn der Grund für diese Probleme in den Konfigurationseinstellungen für das SSH-Multiplexing liegt, sollte dies in der nächsten Version / auf dem Master behoben werden.

@ Nathanleclaire Vielen Dank für das Update zur Behebung von SSH-Multiplexing. Gute Nachrichten! Ich habe --native-ssh unter Linux (Ubuntu) getestet. Das Problem wird dadurch nicht behoben. Wieder ist es ein Hit und Miss, also bedeutet es nichts, wenn es einmal funktioniert. Ich kann es 10 Mal hintereinander scheitern lassen, dann plötzlich ein paar Mal arbeiten und dann 10 Mal scheitern.

@garystafford Ich kann bestätigen, dass --native-ssh mit Ubuntu nicht funktioniert, wenn der Standardtreiber (keiner) vorhanden ist.

+1

Ich führe den Befehl $ docker-machine -D --native-ssh create -d virtualbox local , er funktionierte nicht mit dem Fehlerprotokoll:
Ausführen von: / usr / bin / VBoxManage startvm local --type headless
STDOUT: Warten auf das Einschalten der VM "local" ...
VM "local" wurde erfolgreich gestartet.

STDERR:
Starten der VM ...
Aufrufen der WaitForSSH-Funktion ...
Testen der TCP-Verbindung zu: localhost: 49564
Verwenden des SSH-Clienttyps: native
So führen Sie den SSH-Befehl aus:
Ausfahrt 0
Fehler beim Wählen von TCP: ssh: Handshake fehlgeschlagen: Lesen von TCP 127.0.0.1:49564: Verbindung durch Peer zurückgesetzt
Fehler beim Wählen von TCP: ssh: Handshake fehlgeschlagen: Lesen von TCP 127.0.0.1:49564: Verbindung durch Peer zurückgesetzt

@nathanleclaire , ich habe gerade die neueste Docker-Maschine auf dem Master-Zweig von GitHub für Ubuntu oder Fedora geklont und gebaut. Ich sehe immer noch keine Verbesserungen bei den SSH-Fehlern mit Ubuntu oder Fedora:

gstafford@gstafford-X555LA:$ docker-machine -v
docker-machine version 0.5.0-dev (fe5a722)

@nathanleclaire Ich bin von mehr als 80% Fehlern beim Erstellen von Maschinen und / oder beim übergegangen, indem ich die von Ihnen erwähnten zusätzlichen Netzwerkadapter nur für Hosts gelöscht habe. In VirtualBox 5.0.3 ging ich zu VirtualBox -> Einstellungen -> Netzwerk -> Nur-Host-Netzwerke und entfernte sie. Danach habe ich einen 5-Cluster-Schwarm erstellt und Webart ohne offensichtliche Fehler oder Probleme hinzugefügt. Vielen Dank. Zu Ihrer Information, ich verwende immer noch die Version docker-machine version 0.5.0-dev (fe5a722) ich geklont und erstellt habe.

@garystafford Gut zu hören, dass es für Sie aufgeräumt wurde. Ich würde definitiv gerne mehr Anstrengungen unternehmen, um wackelige Netzwerkkonfigurationen zu erkennen und Lösungen vorzuschlagen, um die Art von Ärger zu vermeiden, die Sie durchmachen mussten.

Es scheint, mein Problem war zweifach. Das Entfernen der Adapter vmnet0 und vmnet1 war nicht nur erforderlich, sondern alle Docker-Maschinenbefehle erfordern sudo.

In meiner Umgebung ist dies ein Problem mit dem Virtualbox-Netzwerk. Ich musste
(1) Ändern Sie den Nur-Host-Adapter in einen Bridged-Adapter (en0 Wi-Fi).
Dann kann ich ssh docker @ ...
(2) Docker-Maschine regenerieren-Zertifikate
Dann funktioniert 'Docker-Machine-Konfiguration'

Ich habe genau den gleichen Fehler erhalten, aber es ist mir gelungen, meinen Fall durch " Virtualisierung aktivieren " im BIOS zu lösen.

Fehlerbehebung:

  1. Verwenden des Debug-Flags: docker-machine --debug create --driver virtualbox dev
  2. Überprüfen Sie die VM-Netzwerkeinstellungen "dev" in VirtualBox Manager, vorausgesetzt, es handelt sich um ein Problem mit der Adapter- / Portweiterleitung
  3. zufällig habe ich in VirtualBox Manager auf die laufende "dev" vm doppelklickt, wodurch ein Fenster in "dev" vm geöffnet wird, in dem das eigentliche Problem angezeigt wird: " vt x amd-v auf Ihrem System nicht verfügbar ". Aus diesem Grund steckte die vm des Dockers mit dem Fehler " benötigt x86-64, erkannte aber nur i686-CPU " fest.

Ich wollte nur meine Fehlerbehebung teilen, insbesondere den Teil des "Doppelklickens" auf die laufende VM in VirtualBox Manager. Versuchen Sie dies, um einen Hinweis auf die zugrunde liegende Ursache für Ihr Auflegen zu erhalten.

Um dieses Problem zu umgehen, konnte ich Folgendes tun, wenn Sie immer noch Host * ... ControlMaster auto in Ihrer "~ / .ssh / config" möchten:

# Docker: docker-machine (at least for virtualbox) breaks if ControlMaster
# is used. See:
#     https://github.com/docker/machine/issues/1591#issuecomment-126169020
# This block needs to be before any global "Host *" using ControlMaster.
Host localhost
    ControlMaster no

Host *
    ControlMaster auto
    ControlPath ~/.ssh/socket-%r@%h:%p
    ControlPersist yes

# ...

Die neuesten RCs sollten mit den in der SSH-Konfiguration festgelegten Optionen ControlMaster einwandfrei funktionieren

Docker-Maschine -v
Docker-Maschine Version 0.4.1 (e2c88d6)

Ich habe auch das gleiche Problem,
Die Problemumgehung besteht darin, jedem Docker-Maschinenbefehl --native-ssh hinzuzufügen

Ich habe dieses Problem auch unter MacOS 10.11.1.
Die Verwendung von --native-ssh hilft in der Tat.

Ich hatte ~ / .ssh / config beschädigt. Nachdem ich es korrigiert hatte, konnte ich wie zuvor eine Maschine erstellen. Eine Möglichkeit, dies zu überprüfen, besteht darin, ssh auf einen anderen Server zu übertragen und zu überprüfen, ob dies funktioniert, um sicherzustellen, dass der Docker-Computer nicht aufgrund von ssh ausfällt.

Gleiches Problem und nichts hat funktioniert.
Für mich besteht die einzige Lösung darin, --native-ssh für jede Maschine hinzuzufügen.

Meine Env Details:
Betriebssystem: OS X El Capitan Version 10.11
Docker-Maschine Version 0.5.0 (04cfa58)
VBoxManage --version
5.0.8r103449

@tehmaspc https://github.com/docker/machine/issues/1591#issuecomment -126169020 funktioniert für mich, wobei einige Problemumgehungen von @trentm vorgeschlagen werden.

Ich bin heute unter Windows 10 nach einem kleinen Upgrade in meiner Docker-Installation darauf gestoßen. Ich habe alles versucht - .docker entfernen, die VBox-VMs neu erstellen, an meinen Umgebungsvariablen herumspielen, config.json hacken ... Am Ende habe ich alles deinstalliert (einschließlich Virtualbox) und alles neu installieren lassen. Das hat funktioniert!

Ich schien, dass es ein Problem mit den VBox-Netzwerken geben muss, das während des Upgrade-Prozesses auftritt oder so. Als ob die erwartete IP-Adresse genommen wurde und danach alles explodierte.

Ich hatte das gleiche Problem. Anscheinend hatte ich zuvor ein OpenSSH installiert, das beim Erstellen des Docker-Images verwendet wurde, was zum ControlMaster-Fehler führte. Ich habe es deinstalliert, Git \ bin zum Pfad hinzugefügt und es hat wie ein Zauber funktioniert.

Ich habe das gleiche Problem, und die auf dieser Seite vorgeschlagenen Problemumgehungen hatten keine Auswirkungen. Irgendwelche Ideen?

Hier ist meine Umgebung:

Docker Version 1.10.3, Build 20f81dd
Docker-Maschine Version 0.6.0, Build e27fb87
5.0.16r105871
Produktname: Mac OS X.
Produktversion: 10.11.4
BuildVersion: 15E65

Wenn ich diesen Befehl gebe:

Docker-Maschine --debug create -d virtualbox default

... es hängt immer irgendwann an diesem Fehler, der wiederholt auf das Terminal gedruckt wird, bis ich ihn manuell unterbreche:

(Standard) DBG | Aufrufen der WaitForSSH-Funktion ...
(Standard) DBG | Verwenden des SSH-Clienttyps: extern
(Standard) DBG | {[-o BatchMode = yes -o PasswordAuthentication = no -o StrictHostKeyChecking = no -o UserKnownHostsFile = / dev / null -o LogLevel = quiet -o ConnectionAttempts = 3 -o ConnectTimeout = 10 -o ControlMaster = no -o ControlPath = none [email protected] -o IdentitiesOnly = yes -i /Users/cbenson/.docker/machine/machines/default/id_rsa -p 53332] / usr / local / bin / ssh}
(Standard) DBG | So führen Sie den SSH-Befehl aus:
(Standard) DBG | Ausfahrt 0
(Standard) DBG | SSH cmd err, Ausgabe: Exit-Status 255:
(Standard) DBG | Fehler beim Abrufen des SSH-Befehls 'exit 0': Beim Ausführen eines SSH-Befehls ist ein Fehler aufgetreten!
(Standard) DBG | Befehl: Beenden Sie 0
(Standard) DBG | err: Status 255 beenden
(Standard) DBG | Ausgabe :

@ Nathanleclaire Kannst du dir meinen Kommentar oben ansehen? Ich bin auf Mac El Cap und alles, was ich benutze - Docker, Docker Machine, VirtualBox, Betriebssystem-Updates - ist die neueste Version. Nichts, was ich als mögliche Korrekturen auf dieser oder verwandten Problemseiten gesehen habe, hat funktioniert. Ich denke, es liegt etwas an meiner Konfiguration, da es zwei ähnlich konfigurierte Macs betrifft, die ich habe. Ich verwende Homebrew für die neuesten Docker, Docker Machine, OpenSSH und OpenSSL. Ich habe VirtualBox von einer eigenen Binärdatei installiert, aber ich habe zuvor versucht, es auch über Homebrew zu installieren (aber derzeit nicht). Irgendwelche Ideen? Vielen Dank!

Ich habe noch kein EL Cap, daher kann ich meine Erfahrungen mit diesem Betriebssystem nicht teilen.

Eine Alternative besteht darin, in die Beta-Version von Docker für Mac einzusteigen, wodurch die Virtualbox-Anforderungen vollständig entfallen. Natürlich könnte es auch andere Probleme geben :)

https://blog.docker.com/2016/03/docker-for-mac-windows-beta/

@chrisbenson Wie ~/.ssh/config -Datei aus?

Was ist die Ausgabe von docker-machine ssh default -vvv ?

@ Nathanleclaire Entschuldigung für die Verzögerung, die sich bei Ihnen

Es ist nicht das ~/.ssh/config , weil ich meins tatsächlich gelöscht habe, um sicherzugehen, dass es nicht so ist. Es hatte keine Wirkung.

Nachdem ich docker-machine --debug create -d virtualbox default , was den oben genannten Fehler immer wieder erzeugt, und dann Strg + C daraus herausgebe.

Dann gebe ich docker-machine ssh default -vvv und erhalte Folgendes:

OpenSSH_7.2p2, OpenSSL 1.0.2g 1. März 2016
debug1: Konfigurationsdaten lesen / usr / local / etc / ssh / ssh_config
debug2: Auflösen von "127.0.0.1" -Port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Verbindung zu 127.0.0.1 [127.0.0.1] Port 22 herstellen.
debug2: fd 3 setzt O_NONBLOCK
debug1: Verbindung zu Adresse 127.0.0.1 herstellen Port 22: Verbindung abgelehnt
debug1: Ich versuche es erneut ...
debug1: Verbindung zu 127.0.0.1 [127.0.0.1] Port 22 herstellen.
debug2: fd 3 setzt O_NONBLOCK
debug1: Verbindung zu Adresse 127.0.0.1 herstellen Port 22: Verbindung abgelehnt
debug1: Ich versuche es erneut ...
debug1: Verbindung zu 127.0.0.1 [127.0.0.1] Port 22 herstellen.
debug2: fd 3 setzt O_NONBLOCK
debug1: Verbindung zu Adresse 127.0.0.1 herstellen Port 22: Verbindung abgelehnt
ssh: Verbindung zum Host 127.0.0.1 herstellen Port 22: Verbindung abgelehnt
Ausgangsstatus 255

@chrisbenson Nur um sicherzugehen, was ist der Inhalt von /usr/local/etc/ssh/ssh_config ?

@nathanleclaire Hier ist das Ergebnis von 'cat / usr / local / etc / ssh / ssh_config':

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

# Host *
#   ForwardAgent no
#   ForwardX11 no
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#   RekeyLimit 1G 1h

Hm, OK, also ist nichts festgelegt. Können Sie die Version 0.7.0 ausprobieren, um festzustellen, ob es Ihnen besser geht (sie ist brandneu, daher müssen Sie die Binärdateien herunterladen, da Toolbox noch nicht gebacken wurde).

@ Nathanleclaire Ich habe 0.7.0 ausprobiert, aber es machte keinen Unterschied. Immer genau den gleichen Fehler bekommen. Irgendwelche anderen Ideen? Vielen Dank!

@chrisbenson Funktioniert --native-ssh für Sie oder weist es das gleiche Problem auf?

@ Nathanleclaire Es zeigt das gleiche Problem, Nathan.

@chrisbenson Sie haben irgendeine Art von Firewall / VPN / Proxy

@ Nathanleclaire Nein, Sir, nichts. Ich arbeite an einem modernen, vollständig aktualisierten MacBook Pro mit El Capitan. Ich halte alles (Docker, Docker Machine, OpenSSL, OpenSSH) mit Homebrew auf dem neuesten Stand, außer ich habe VirtualBox mit ihrer Download-Binärdatei installiert. An meinem Setup ist nichts Bemerkenswertes, weshalb ich ratlos bin.

@chrisbenson Paar Dinge, die Sie bitte versuchen sollten:

  • Wenn Sie die auf der Release-Seite bereitgestellte Machine-Binärdatei verwenden, macht dies einen Unterschied? Es besteht eine sehr geringe Wahrscheinlichkeit, dass aufgrund der Verwendung von Homebrew möglicherweise ein Problem zwischen cgo und nativem Go auftritt.
  • Wenn Sie sich den exponierten VirtualBox-Port in der GUI ansehen (weitergeleiteter Port 22 in den Netzwerkeinstellungen für die VM), können Sie ihn manuell mit SSH versehen? (zB ssh [email protected] -p 34567 - Passwort ist tcuser )

    • Wenn nicht, funktionieren Dinge wie ping 127.0.0.1 ?

  • Ist Ihre Mac-Systemfirewall aktiviert? (in Einstellungen IIRC)
  • Bitte werfen Sie einen Blick auf die VirtualBox-Protokolle (verschachtelt in ~/.docker/machine/machines/default/default ), um festzustellen, ob etwas Interessantes vorliegt, z. B. Fehler.
  • 127.0.0.1 ist Ihr Standard-Loopback, oder? Wie sieht Ihre /etc/hosts -Datei aus?

--native-ssh funktioniert für mich, aber dieses Problem tritt jedes Mal auf, wenn ich eine neue Terminalsitzung in OS X starte. Ich hatte nur Probleme mit der Docker-Maschine in der Produktion. Ich hoffe, dass der kommende Docker für Mac diese Probleme löst.

Dies geschieht unter Windows 7, der neuesten Docker-Toolbox, wenn ich den PC nachts in den Ruhezustand versetze. Wenn ich den PC wecke, laufen alle Docker-Machine-Befehle ab, aber ich kann Docker-Machine ssh $ node ganz gut. Innerhalb der Knoten läuft Docker einwandfrei und Container, die ich am Vortag gestartet habe, laufen noch.

$ docker -v && docker-machine -v
Docker Version 1.12.0, Build 8eab29e
docker-machine.exe Version 0.8.0, Build b85aac1

$ docker-machine env

$ docker-machine regenerate-certs [Computername]

$ docker-machine ls
in Ordnung!

Wow drei Jahre später auf WIN7x64 hier und das passiert immer noch !!! Ist es nicht an der Zeit, das Problem zu beheben oder das Produkt als defekt zu bezeichnen, wenn es aus diesem Grund UNMÖGLICH ist, einen einfachen ersten Standard-Erstellungsbefehl auszugeben?

(default) DBG | About to run SSH command: (default) DBG | exit 0 (default) DBG | SSH cmd err, output: exit status 255: (default) DBG | Error getting ssh command 'exit 0' : ssh command error: (default) DBG | command : exit 0 (default) DBG | err : exit status 255

Leider habe ich das gleiche Problem. Anscheinend habe ich alle Links in Google gelesen und nichts kann das Problem beheben. Bitte helfen Sie!

Ist es richtig, Maschinen in VPS wie DigitalOcean Droplet zu erstellen? Ich habe das Problem auf einem solchen Server:

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:    18.04
Codename:   bionic
# docker -v
Docker version 18.06.1-ce, build e68fc7a
# docker-machine -v
docker-machine version 0.15.0, build b48dc28d
# VBoxManage --version
5.2.10_Ubuntur121806
# docker-machine --debug create --driver virtualbox mymachine

...

(mymachine) Waiting for an IP...
(mymachine) DBG | STDOUT:
(mymachine) DBG | {
(mymachine) DBG | Waiting for VM "mymachine" to power on...
(mymachine) DBG | VM "mymachine" has been successfully started.
(mymachine) DBG | }
(mymachine) DBG | STDERR:
(mymachine) DBG | {
(mymachine) DBG | }
(mymachine) DBG | Checking vm logs: /root/.docker/machine/machines/mymachine/mymachine/Logs/VBox.log
(mymachine) DBG | Getting to WaitForSSH function...
(mymachine) DBG | Using SSH client type: external
(mymachine) DBG | Using SSH private key: /root/.docker/machine/machines/mymachine/id_rsa (-rw-------)
(mymachine) DBG | &{[-F /dev/null -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none -o LogLevel=quiet -o PasswordAuthentication=no -o ServerAliveInterval=60 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected] -o IdentitiesOnly=yes -i /root/.docker/machine/machines/mymachine/id_rsa -p 44643] /usr/bin/ssh <nil>}
(mymachine) DBG | About to run SSH command:
(mymachine) DBG | exit 0

# And then many times:

(mymachine) DBG | SSH cmd err, output: exit status 255:
(mymachine) DBG | Error getting ssh command 'exit 0' : ssh command error:
(mymachine) DBG | command : exit 0
(mymachine) DBG | err     : exit status 255
(mymachine) DBG | output  :
(mymachine) DBG | Getting to WaitForSSH function...
(mymachine) DBG | Using SSH client type: external
(mymachine) DBG | Using SSH private key: /root/.docker/machine/machines/mymachine/id_rsa (-rw-------)
(mymachine) DBG | &{[-F /dev/null -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none -o LogLevel=quiet -o PasswordAuthentication=no -o ServerAliveInterval=60 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected] -o IdentitiesOnly=yes -i /root/.docker/machine/machines/mymachine/id_rsa -p 44643] /usr/bin/ssh <nil>}
(mymachine) DBG | About to run SSH command:
(mymachine) DBG | exit 0

Ich habe versucht, ssh config zu erstellen:

# cat ~/.ssh/config
Host *
  TCPKeepAlive yes
  ServerAliveInterval 10
  ServerAliveCountMax 10
  ForwardAgent yes
  ControlMaster no

Mit --native-ssh kein Problem lösen.

@tenorok Bei den meisten Cloud-Anbietern kann die Virtualisierung nicht verschachtelt werden.

Ich habe die Toolbox ausprobiert und bin auf dieselben Probleme gestoßen, als ich cmd und native ssh (windows oponssl) verwendet habe.
und löste dieses Problem durch Tring von ssh aus git / usr / bin / ssh.

image

Dieses Problem im Jahr 2020 bekommen.

&{[-F /dev/null -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none -o LogLevel=quiet -o PasswordAuthentication=no -o ServerAliveInterval=60 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected] -p 22] /usr/local/bin/ssh <nil>}
About to run SSH command:
exit 0
SSH cmd err, output: exit status 255: 
Error getting ssh command 'exit 0' : ssh command error:
command : exit 0
err     : exit status 255
output  : 
Getting to WaitForSSH function...
(dvc1) Calling .GetSSHHostname
(dvc1) Calling .GetSSHPort
(dvc1) Calling .GetSSHKeyPath
(dvc1) Calling .GetSSHUsername
Using SSH client type: external
&{[-F /dev/null -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none -o LogLevel=quiet -o PasswordAuthentication=no -o ServerAliveInterval=60 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected] -p 22] /usr/local/bin/ssh <nil>}
About to run SSH command:
exit 0
➜  dogvscat git:(master) ✗ docker-machine -v
docker-machine version 0.16.2, build bd45ab1
➜  dogvscat git:(master) ✗ docker version
Client: Docker Engine - Community
 Version:           19.03.8
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen