2017-04-13 3 views
0

Mein besonderer Anwendungsfall ist mit consul läuft mit --net=host. Dies empfiehlt die consul docker image. In derselben Instanz werden andere Container mit dem Standardnetzwerk bridge ausgeführt.Wie soll ein im Netzwerkmodus laufender Container mit einem anderen Container kommunizieren, der im Hostmodus ausgeführt wird?

Ich kann den Consul-Container auf es freiliegenden Port mit localhost: 8500 von der Host-Maschine erreichen. Diese Adresse funktioniert jedoch nicht innerhalb der Bridge-Modus-Container.

Wie wird die Kommunikation von den Bridge-Modus-Containern zum Consul-Container im Host-Modus empfohlen?

+0

Sie die 'ip' des verwenden können Host oder der FQDN davon. – shizhz

+0

Die Host-IP ist 127.0.0.1. Wie erhalte ich den FQDN? – Nick

+1

127.0.0.1 ist die Loopback-IP, Ihr Host soll eine private IP oder öffentliche IP haben, beide werden funktionieren. – shizhz

Antwort

0

Container im Brückennetzwerk können auf das Gateway zugreifen, das auf dem Host ausgeführt wird. Für das Standard-Bridge-Netzwerk ist das Bridge-Gateway normalerweise 172.17.0.1. Wir können tun, wie folgt:

docker run -ti --add-host consul:172.17.0.1 ubuntu:latest bash 

Jetzt können wir Konsul Dienst zugreifen „Konsul“ mit Konsul unter der Annahme von Host-Rechner auf docker0 IP gestartet (172.17.0.1)

Verwandte Themen