Ich habe einen Container eingerichtet, um elasticsearch zu betreiben. Der Dienst startet, aber ich kann keine Verbindung zu ihm über Curl oder den Browser herstellen.
%Vor% Das Verbinden mit http://localhost:9200
ergibt nichts. Das Andockfenster ps zeigt Ports;
Fehle ich etwas Konfigurationswert? DANKE!
[Update] Ich habe auch versucht, die Option -p im run-Befehl
%Vor%Ich habe Ihre Dockerfile getestet, aber es funktioniert einfach.
%Vor%Ich versuche diese Dockerfile zu erstellen und sie auszuführen.
%Vor% Wie Sie unten sehen können, gibt die Anfrage 127.0.0.1:9200
die Antwort von json zurück.
Überprüfen Sie Ihre -p
-Option. Es bedeutet, den Container-Port für den Host zu veröffentlichen. Wenn Sie nicht explizit den Port des Hosts schreiben, weisen Sie dem Docker einen zufälligen Port wie unten zu.
0.0.0.0:49153->9200/tcp
bedeutet, dass Sie über den Port 49153 des Hosts auf den 9200-Port des Containers zugreifen können.
Wenn Sie also den Host s 9200 port, explicitly write the host port like
-p 9200: 9200 or
-p 0.0.0.0:9200:9200 '
Wenn das immer noch nicht funktioniert, versuchen Sie --net=host
-Option. Sie können den Hostnetzwerkstapel innerhalb des Containers verwenden, indem Sie diese Option verwenden.
Wenn beide nicht funktionieren, denke ich, dass Sie Ihre andere Netzwerkkonfiguration überprüfen müssen.
Wenn Sie docker unter OSX ausführen, beachten Sie, dass der Host wirklich die VirtualBox-Instanz ist, die bei der Initialisierung von boot2docker installiert wurde. Also in dieser Situation, anstatt zu verwenden:
curl http://localhost:9200
finde die IP der virtuellen Box-Instanz mit, die ich als VM_IP bezeichnen werde:
boot2docker ip
versuche es dann:
curl http://<VM_IP>:9200
Ich hatte ein Problem mit der Portweiterleitung, wenn Elasticsearch in einem Andock-Container ausgeführt wurde. Ich löste das Problem, indem ich manuell festlegte, welche Schnittstellen den Elasticsearch Server docker run --rm -p 9200:9200 -p 9300:9300 --name=es elasticsearch:latest -Des.network.host=0.0.0.0
binden sollten.
Der bindende Teil ist der -Des.network.host=0.0.0.0
am Ende. Ich schrieb einen Blog-Post, der dies bei Ссылка
Tags und Links docker elasticsearch