Wir sind Übergang (wir hoffen) von CoreOS zu CentOS, von Flotte zu Schwarm. Ich muss die IP-Adresse des Andockers der Maschine aus dem Container ermitteln.Wie bekomme ich die IP-Adresse der externen Hosts aus einem Docker Container
Das Problem besteht darin, dass wir nginx verwenden, um festzustellen, welche der Maschinen in unserem Docker-Cluster welchen Dienst ausführt. Um dies zu ermöglichen, benötigen wir den Container, um in der Lage zu sein, die IP-Adresse der Maschine, auf der er sich befindet, an unser etcd-Repository zu senden. Alles, was ich bisher gesehen habe, konnte mich auf eine 172.17.0.1 IP-Adresse für den externen Rechner bringen, aber ALLE unsere Container auf ALLEN unserer Hafenarbeiter haben diese private Adresse. Ich brauche eine externe Adresse, die nginx verwenden kann, um zum Dienst zu gelangen.
ich die ‚ip ...
--hostname‘ Option verwenden könnte oder die ‚-e EXT_HOST_IP = ip ...
‘ Option eine IP-Adresse, aber wenn ich diese in der ‚Docker run‘ Befehl umfassen, Verarbeitung die Shell den Befehl Docker erweitert die "ip ..." und gibt die IP-Adresse der aktuellen Maschine zurück - NICHT die Maschine, auf der der Schwarm den Container schließlich laufen lässt.
Das Beste, was ich bis jetzt gefunden habe, ist eine Datei/Verzeichnis auf dem Host-Rechner zu erstellen, die die IP-Adresse des Host-Computers enthält. Ich kann dann die Option '-v' des Dockers verwenden, um das Verzeichnis innerhalb des Containers anzuhängen und die IP-Adresse daraus zu beziehen. Es scheint nur so, als sollte es einen einfacheren Weg geben, dies zu tun.