2016-01-24 11 views
5

Ich bin Docker-Maschine auf OS X laufen und es funktioniert gut auf meinem Heim-Wifi-Netzwerk (wifi-one).docker-machine: Keine Route zum Host zum Standard-Docker-Computer (mit Host-Vbox-Netzwerk) auf einigen Wifi-Netzwerken

In einem anderen WiFi-Netzwerk (Wifi-zwei), kann ich nicht auf die Standard-Maschine zugreifen, entweder durch Docker-Maschine oder mit Pings. Ich habe versucht, alle Docker und virtuelle Box-Software zu entfernen und Caches und Neuinstallation während der verbundenen Wifi-zwei, ohne Erfolg.

docker-machine verwendet eine kleine vm in virtual box, die ein Host-only-vbox-Netzwerk (vboxnet0) verwendet, um zwischen dem Host und vm zu kommunizieren.

Auf wifi-one kann ich das Gateway an die vboxnet0 (192.168.99.1) pingen, und ich kann die vm (192.168.99.100) ping. In der Routing-Tabelle, kann ich sehen, Wege zur vm der richtige Schnittstelle:

Internet: 
Destination  Gateway   Flags  Refs  Use Netif Expire 
default   dlinkrouter  UGSc   60  2  en0 
... 
dlinkrouter  c0:a0:bb:xx:xx:xx UHLWIir  66  155  en0 1180 
192.168.99   link#10   UC    2  0 vboxnet 
192.168.99.100  8:0:27:db:16:21 UHLWIi   2  42 vboxnet 1109 
... 

On WiFi-zwei, ich das vboxnet0 Gateway kann ping, aber nicht die vm. Ping meldet das Anforderungstimeout, aber docker-machine meldet "keine Route zum Host". Während die Routing-Tabelle mit wifi-two verbunden ist, wird die Route zum Host-only-Netzwerk vboxnet0 auf der Wi-Fi-Schnittstelle (en0) und nicht zur vboxnet0-Schnittstelle angezeigt. Interessant ist auch, dass die Standardroute die Route zum vboxnet0-Gateway ist, aber kein Hinweis auf den WLAN-Router in der Routing-Tabelle. Trotzdem funktioniert die Internetverbindung gut auf wifi-two.

Internet: 
Destination  Gateway   Flags  Refs  Use Netif Expire 
default   192.168.99.1  UGSc   46  0  en0 
... 
192.168.99   link#4    UCS    9  0  en0 
192.168.99.1/32 link#4    UCS    2  0  en0 
192.168.99.1  dc:9f:db:2b:89:39 UHLWIir  46  61  en0 1197 
192.168.99.100  link#4    UHLWIi   1  3  en0 

Also, ich weiß nicht wirklich, wo das Problem hier ist - der Router, Mac OS, Virtual Box oder Docker-Maschine. Ich vermute, dass etwas über die Konfiguration des Routers lustig ist, aber ich sehe nicht, warum der WLAN-Router etwas mit den Routen zu einem reinen Host-Netzwerk von Virtualbox zu tun haben würde.

bearbeiten: manuell Löschen der Route en0 zu 192.168.99 über en0 und sudo route -nv add -net 192.168.99 -interface vboxnet0 läuft scheint dies auf Wifi-zwei zu lösen.

Aber ich würde gerne verstehen, warum das passiert - warum gibt es keinen Weg zu vboxnet0 automatisch, wenn ich wifi-zwei beitreten und ich würde gerne eine bessere Lösung als route add laufen, wenn ich auf wifi- bin zwei.

Antwort

4

Ich fand es heraus. es ist ein bisschen dumm:

wifitwo das Subnetz ist 192.168.99. Dasselbe Subnetz-Andockfenster wird für das Host-Only-Netzwerk verwendet, das für die Standard-VM erstellt wird. Also verursachte der Konflikt alle möglichen kryptischen Fehler.

Verwandte Themen