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.