web-dev-qa-db-de.com

Docker-Computer-Fehler "Konnte keine übereinstimmende IP-Adresse für die MAC-Adresse finden" unter Windows 10

Ich habe ein seltsames Problem mit der Docker-Maschine unter Windows 10. Und ich kann immer noch keine Lösung finden.

Früher hat es funktioniert, aber nach einigen Updates von Windows 10 wurde der Fehler "Konnte IP für MAC-Adresse nicht finden ..." gefunden. Dieser Fehler tritt bei jeder Aktion mit Docker-Maschine auf.

Zum Beispiel mit Docker-Maschine ls:  enter image description here

Ich habe versucht, Dockertools mit Virtual Box (mit verschiedenen Netzwerktreibern) neu zu installieren. Es wurde versucht, die neueste Version der virtuellen Box zu installieren. Entfernen und erstellen Sie die virtuelle Docker-Maschine neu. Entfernen Sie alle Host-Only-Netzwerke von vitrualbox. Es hilft nichts.

Folgendes bekomme ich mit docker-machine -D create -d virtualbox default:

 enter image description here

standardeinstellung für Docker-Maschine:

 enter image description here

docker-Maschinen-Regenerat-Zertifikate:

 enter image description here

Könnte mich jemand in die richtige Richtung weisen? Was kann ein solches Problem verursachen?

Vielen Dank!


Ich habe die von VonC vorgeschlagene Methode ausprobiert.

  1. Entfernen Sie Virtualbox und bereinigen Sie Treiber und Registrierung, wie vorgeschlagen.
  2. PC neu starten.
  3. Neueste Virtualbox installieren (Version 5.0.18 r106667)
  4. PC neu starten.
  5. Legen Sie die Umgebung wie vorgeschlagen fest.

Das ist das Ergebnis.

C:\Users\Vadim>Desktop\env.bat

C:\Users\Vadim> rem minimaler Pfad:

C:\Users\Vadim> set PATH = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem

C:\Users\Vadim> rem fügt Git zu PATH hinzu

C:\Users\Vadim> rem set glatest = PortableGit-2.8.1-64-Bit

C:\Users\Vadim> set PATH = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Programme\Git\bin; C:\Programme\Git\usr\bin; C:\Programme\Git

C:\Users\Vadim> set TERM = msys

C:\Users\Vadim> setze GIT_HOME = C:\Programme\Git

C:\Users\Vadim> rem fügt VirtualBox PATH hinzu

C:\Users\Vadim> set PATH = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Programme\Git\bin; C:\Programme\Git\usr\bin; C:\Programme\Git; C:\Pr Ogram Files\Oracle\VirtualBox

C:\Users\Vadim> rem fügt Docker-Maschine zu PATH hinzu

C:\Users\Vadim> set PATH = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Programme\Git\bin; C:\Programme\Git\usr\bin; C:\Programme\Git; C:\Pr Ogrammdateien\Oracle\VirtualBox; C:\Programme\Docker Toolbox

C:\Users\Vadim> Pfad festlegen Pfad = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Programme\Gi T\bin; C :\Programme\Git\usr\bin; C:\Programme\Git; C:\Programme\Oracle\ VirtualBox; C:\Programme\Docker Toolbox PATHEXT = .COM; .EXE .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC

C:\Users\Vadim> docker-machine create -d virtualbox test Vorab-Überprüfungen werden ausgeführt ... Maschine wird erstellt ... (Test) Kopieren von C:\Users\Vadim.docker\machine\cache\boot2docker.iso in C:\Users\ Vadim.docker\machine\machines\test\boot2docker.iso ... (test) Erstellen einer VirtualBox-VM ... (test) Erstellen eines SSH-Schlüssels ... (Test) Starten der VM ... (Test) Überprüfen Sie das Netzwerk, um es ggf. neu zu erstellen ... (Test) Windows fragt möglicherweise nach der Berechtigung zum Erstellen eines Netzwerkadapter. Irgendwann wird dieses Bestätigungsfenster in der Taskleiste minimiert. (Test) Es wurde ein neuer Host-Only-Adapter gefunden: "Nur VirtualBox-Host-Only-Ethernet-Adapter # 2"

(Test) Windows fragt möglicherweise nach der Berechtigung zum Konfigurieren eines Netzwerkadapters. Manchmal wird ein solches Bestätigungsfenster in der Taskleiste minimiert. (Test) Windows fragt möglicherweise nach der Berechtigung zum Konfigurieren eines DHCP-Servers. Irgendwann wird ein solches Bestätigungsfenster in der Taskleiste minimiert. (Test). Warten auf eine IP ... Das Warten auf die Ausführung des Computers kann einige Minuten dauern. Erkennen des Betriebssystems der erstellten Instanz ... Warten auf Verfügbarkeit von SSH ... Ermitteln des Provisioners ... Bereitstellen mit boot2docker ... Kopieren von Zertifikaten in das lokale Computerverzeichnis. .. Kopieren von Zertifikaten auf den Remote-Computer ... Fehler beim Erstellen des Computers: Fehler beim Ausführen der Bereitstellung: Übereinstimmende IP-Adresse f Oder MAC-Adresse 080027d6b14d konnte nicht gefunden werden

Ich bekomme immer noch diese Fehlermeldung über IP und MAC. 


Weitere Untersuchung ... Wie von VonC vorgeschlagen, habe ich dies mit Docker-Maschine 0.6.0 wiederholt. Und ich habe andere Fehler bekommen:  enter image description here

Da offensichtlich versucht wird, mit der eth1-Schnittstelle auf einer virtuellen Maschine zu arbeiten, habe ich überprüft, was los ist (während der ganzen Zeit konnte ich sehen, dass vms in der virtuellen Box-Schnittstelle erstellt wurde und gearbeitet hat). Das sehe ich in Gast-VM:  enter image description here

Wie Sie sehen, hat die Schnittstelle von eth1 keine IP4-Adresse angegeben .. Kann dies die Ursache des Problems sein und wie kann es behoben werden?

19
Vadim

Öffnen Sie Virtualbox, entfernen Sie Docker-VM. Das startet schnell wieder. Ich habe das gleiche Problem auch unter Windows.

7
evtuhovdo

Ich hatte das gleiche Problem. Ich habe es gelöst durch:

1) Entfernen Sie den "VirtualBox-Host-Only-Ethernet-Adapter" mithilfe der VirtualBox Manager-GUI. (Einstellungen-> Netzwerk-> Nur-Host-Netzwerke) Tatsächlich gab es zwei davon; Ich habe beide gelöscht. 

2) Löschen Sie die Standardeinstellung VM (erneut mit der VirtualBox Manager-GUI).

3) Führen Sie das start.sh-Skript erneut aus

Weitere Hinweise: Ich verwende Windows 7 und Cygwin64. Das start.sh-Skript hat Probleme beim Finden des Pfads zu vboxmanage. Bei der Behebung dieser Fehler habe ich mehrfach das start.sh-Skript ausgeführt, was wahrscheinlich auf den merkwürdigen Zustand zurückzuführen ist, in dem sich VBox befand.

5
Aaron Knauf

Diese Fehlermeldung stammt von " Dynamische Host-Only-Schnittstelle ermitteln, mit der Annahme von eth1 " und PR 3112 fixing issue 3108

Ich würde versuchen:

  • virtualBox vollständig deinstallieren,
  • löschen Sie alle vbox * -Dateien in C:\Windows\system32\drivers\,
  • löschen Sie alle vbox * -Ordner in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
  • virtualbox 5.0.18 und ihr Oracle VM VirtualBox Extension Pack neu installieren
  • nur CMD verwenden (keine Bash, um Nebenwirkungen zu vermeiden)

Legen Sie Ihren PATH durch ein senv.bat-Skript fest, das Folgendes enthalten würde (ändern Sie den Pfad zu Ihrem Setup):

rem minimal path:
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem

rem add Git to PATH
set glatest=PortableGit-2.8.1-64-bit
set PATH=%PATH%;C:\Personal_Unsaved\prgs\git\%glatest%\bin;C:\Personal_Unsaved\prgs\git\%glatest%\usr\bin;C:\Personal_Unsaved\prgs\git\%glatest%
set TERM=msys
set GIT_HOME=C:\Personal_Unsaved\prgs\git\%glatest%

rem add VirtualBox to PATH
set "PATH=%PATH%;C:\Personal_Unsaved\prgs\vbox\latest"

rem add docker-machine to PATH
set PATH=%PATH%;C:\Personal_Unsaved\prgs\dm\latest

Dann erstellen Sie in dieser neuen Umgebung mit der neuesten Docker-Maschine 0.7.0 eine neue Maschine:

docker-machine create -d virtualbox test
docker-mahcine ssh test

(benutze ssh von docker-machine, nicht ssh von git bash)

Kevin Hooke Erwähnungen unten in den Kommentaren (Juli 2016):

Ich hatte diesen Fehler am 1.11.2 unter Windows 7 nach dem Herunterladen und Installieren der neuesten Toolbox. Fehler erst nach Update der Toolbox gestartet. 

Selbst nach dem Löschen des Standardwerts VM in VirtualBox wird derselbe Fehler angezeigt, wenn er neu erstellt wurde. 

Ich habe in dem in der Antwort oben auf GitHub erwähnten Ticket bemerkt, dass es VirtualBox 5.0.14 erwähnt, also ich habe gerade auf 5.0.24 aktualisiert. Die Quickstart-Eingabeaufforderung wurde gestartet, die Standard-VM wurde wiederhergestellt, und jetzt kein Problem.

4
VonC

Wenn beim Neustart eine andere IP-Adresse (vom vorherigen Lauf) zugewiesen wird, zeigt der Docker-Computer Verbindungsprobleme mit der VM an.
Ein Ansatz, der für mich funktioniert hat, ist, ihn so neu zu starten, dass er beim Neustart dieselbe IP erhält.
Z.B. Wenn 192.168.99.102 (der dritte in seq 100, 101, 102) bei der Erstellung zugewiesen wurde, starten Sie vor dieser Docker-Maschine zwei beliebige andere VMs, sodass diese 102 erhält. 

Ich halte die Befehle aufrecht, die in meinen ersten Tagen als Referenz für die Ausführung von Docker hilfreich waren:
Praktische Befehle für Docker-Maschinen, Docker und Docker-Composer für Starter.

2
Sunil G.

Das funktionierte für mich unter Windows:

Ich habe diesen Befehl ausgeführt - 

docker-machine rm default

Dann habe ich das Docker-Maschinenterminal neu gestartet und die IP automatisch zugewiesen.

2
ryudidoo

Meine Antworten können für zukünftige Leser nützlich sein, denn als ich kürzlich mit diesem Problem konfrontiert wurde, fand ich diese Frage zuerst.

alle oben genannten Lösungen funktionierten nicht für mich.... Ich habe Default Machine von Virtual Machine gelöscht und neu erstellt

docker-machine rm default
docker-machine create --driver virtualbox default

Dann habe ich Netzwerkadapter als oben beschrieben von Aaron Knauf entfernt.

Schließlich habe ich docker und VirtualBox deinstalliert und die Konfigurationsdateien .docker und .VirtualBox im Ordner des Benutzers gelöscht.

Nach der Neuinstallation von Docker Toolbox und VirtualBox funktionierte Docker dann gut

Auch wenn eine Neuinstallation keine gute Praxis ist, wurde mein Problem gelöst.

2
Dosto

Eines Tages wachte ich auf, und Docker arbeitete nicht mit erwähntem "Konnte keine passende IP für MAC-Adresse finden ..."

Was mir geholfen hat war es:

  • uninstal Docker Toolbox
  • deinstallieren Sie VirtualBox
  • entfernen Sie den Ordner C:\Users\Benutzername\.docker
  • entfernen Sie den Ordner C:\Users\Benutzername\.VirtualBox
  • installieren Sie Docker Toolbox erneut
2
michal2616

Wie einige von Ihnen oben, aber mit einigen Änderungen

  1. Entfernen Sie den "VirtualBox-Host-Only-Ethernet-Adapter" mithilfe der VirtualBox Manager-Benutzeroberfläche. (Einstellungen-> Netzwerk-> Nur-Host-Netzwerke) Tatsächlich gab es zwei davon; Ich habe beide gelöscht.
  2. Löschen Sie die Standardeinstellung VM (erneut über die VirtualBox Manager-Benutzeroberfläche).
  3. Starten Sie das "Docker QuickStart Terminal" im Admin-Modus
  4. Erstellen Sie beim Starten des Terminals einen neuen "VirtualBox-Host-Only-Ethernet-Adapter" auf der VirtualBox Manager-Benutzeroberfläche, geben Sie die statische IP-Adresse wie Ihr früherer Docker-Computer an und aktivieren Sie DHCP.

Das hat einmal für mich funktioniert. Hoffe es wird immer wieder klappen :)

1
Sownak Roy

Ich hatte durch dieses Problem. Ich kann sagen, dass das Entfernen und erneute Installieren nichts bewirkt. Hier sind meine Schritte:

  1. Lade die neueste Docker-Toolbox von github herunter und installiere sie (aktuell v18.09.3)
  2. Laden Sie die neueste Virtualbox herunter und installieren Sie sie (derzeit 6.0.4-128413)
  3. Starten Sie die Docker-Toolbox mit einer Verknüpfung
  4. Fehler "Konnte keine passende IP für MAC-Adresse finden ..." (Der Computer wurde normal gestartet, Sie können sich über die Virtualbox-Benutzeroberfläche anmelden und es funktioniert einwandfrei. Windows sieht dies jedoch nicht, da die Netzwerkeinstellungen nicht korrekt sind.)
  5. Stoppen Sie die virtuelle Maschine nicht
  6. Erstellen Sie die Datei dmvbf.bat mit diesem Inhalt
 
 @echo off 
 setlocal enabledelayed expansion 
 setze Maschine =% 1 
 if "% machine%" == "" (
 echo dmvbf erwartet einen Rechnernamen 
 exit/b 1 
) 
 set ipx =% 2 
 if "% ipx%" == "" (
 echo dmvbf x missing ^ (für 192.168.xy ^) 
 exit/b 2 
 
 setze ipy =% 3 
 if "% ipy% "==" "(
 echo dmvbf y missing ^ (for 192.168.xy ^) 
 exit/b 3 
) 
 
 echo kill $ (more /var/run/udhcpc.eth1.pid) | Docker-Maschine ssh% machine% Sudo tee /var/lib/boot2docker/bootsync.sh> NUL 
 echo ifconfig eth1 192.168.% ipx%.% ipy% netmask 255.255.255.0 broadcast 192.168.% ipx% .255 up | Docker-Maschine ssh% machine% Sudo tee -a /var/lib/boot2docker/bootsync.sh> NUL 
 Echoroute Standard hinzufügen gw 192.168.99.22 | Andockmaschine ssh% machine% Sudo tee -a /var/lib/boot2docker/bootsync.sh> NUL 
 
 
 Andockmaschine ssh% machine% "Sudo cat/var /run/udhcpc.eth1.pid | xargs Sudo kill "
 
 Docker-Maschine ssh% machine%" Sudo ifconfig eth1 192.168.% ipx%.% ipy% netmask 255.255.255.0 broadcast 192.168. % ipx% .255 up "
 

(Danke an Antwort von C )

  1. führen Sie dmvbf.bat default 99 101 in Windows CMD aus. Es ändert die IP-Adresse innerhalb der Maschine durch ssh
  2. docker-machine restart default
  3. docker-machine regenerate-certs default. Da wir die IP-Adresse geändert haben, ist das zuvor erzeugte Zertifikat nicht mehr gültig.
  4. eval $(docker-machine env default) in Windows CMD. Ohne diesen Schritt habe ich verschiedene Fehler erhalten (Exit-Status 255 usw.)
  5. starten Sie die Docker-Toolbox erneut. Diesmal können Sie Docker mit einer IP-Adresse von 192.168.99.101 starten
  6. führen Sie docker run hello-world aus und genießen Sie.

Ich hatte ein ähnliches Problem, ich habe es einfach zum Laufen gebracht, indem ich den VM - Prozess im Task-Manager beendet und Docker Quickstart Terminal neu gestartet habe.

Ich hoffe, dass dies irgendwann jemandem helfen kann.

0
ziMtyth