Ich habe das folgende Setup bekam:Erlaube einem Container, der über docker-machine läuft, sich mit dem Mysql- oder XDEBUG-Port auf dem übergeordneten OSX-System zu verbinden, ohne eine OSX-DHCP-zugewiesene IP-Adresse zu verwenden?
- OSX läuft MySQL auf Port 3306
- XDebug auf alle Netzwerkadapter hören IDE aktiviert auf Port 9000 auf der Basis OSX System hören.
- Docker-Maschine-Host auf dem OSX-System mit dem Host-IP 192.168.99.100
- Ein Debian-basierten Docker-Containern mit einem MySQL-Client läuft auf dem Docker Host und HHVM lief mit xdebug läuft suchen, um eine glückliche Remote-Host zu verbinden, die auf Port 9000.
die IP-Adressen häufig auf dem OSX System ändern sich durch per DHCP zugewiesen werden, so dass ich möchte, dass die docker Behälter in der Lage sein, irgendwie in der Lage sein, den mySQL-Server, unabhängig davon, zu schlagen, was die native OSX IP Netzwerkadapter werden zugewiesen (ohne sie manuell zu aktualisieren). Außerdem brauche ich eine stabile IP-Adresse. Ich kann meine HHVM server.ini-Datei einen Remote-Host für Xdebug bereitstellen.
Mit dem Ausführen eines Basis-Systems von Linux ist dies kein Problem, da der Docker-Host und die tatsächliche native Maschine, die Docker laufen, ein und dasselbe sind. Es gibt auch mehrere Möglichkeiten, dass ein Container von der IP des Hosts erfährt, so dass das Problem nicht auf den Docker-Host trifft.
In OSX läuft jedoch docker-machine, der Host ist nicht das systemeigene OSX-System, sondern eine virtuelle Maschine, die in einer virtuellen Box ausgeführt wird (vorausgesetzt, Sie verwenden den vb-Treiber, und wer den sam hill blazes isn ' t?).
Das einzige, was ich mir vorstellen konnte, war das Weiterleiten der Anfrage auf 3306 an den Docker-Rechner-Host (192.168.99.100, der sich nie ändert) an den OSX-Port 3306. Dann habe der Container den Docker-Rechner-Host für Mysql getroffen Anfragen. WENN das funktioniert, könnte ich spülen und für jeden Hafen I Hafen wiederholen, den ich wie xdebug auf Port 9000 verbinden muss.
Kann jemand dieses erreichen oder einen anderen Vorschlag haben?
Ihre Erklärung half mir zu verstehen, wie man den HOST von einem Container erreicht, der in einer VM läuft, vielen Dank! Ich bin sehr überrascht, dass es keine Upvotes gab. Ich möchte darauf hinweisen, dass ich mit beiden IPs eine Verbindung zum HOST herstellen kann: 192.168.99.1 und 10.0.2.2 (nicht sicher warum, aber es funktioniert).Die Docker/VM-Einrichtung ist die Standardkonfiguration, die von Docker Toolbox installiert wird. – Calin