Не могу использовать эластичный поиск в локальном Docker на windows 10 - PullRequest
1 голос
/ 10 января 2020

Я только что перешел с docker на панель инструментов на windows 10 с docker (Docker версия 19.03.5, сборка 633a0ea). Мне нужно использоватьasticsearch с моим java приложением, но я не могу с ним работать - порт 9300 кажется недоступным. Мои действия: я вытащил образ эластичного поиска из dockerhub

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.5.1

и запустил его с мостовой сетью, выставив сообщения ES: 9200, 9300

docker run -p 9200:9200 -p 9300:9300 -e "ES_HOST=0.0.0.0"

контейнер работает, и бот порты доступны на локальном хосте (я так думаю), потому что, когда я свернусь, то из командной строки получу:

C:\Windows\System32\curl.exe -i -s -X GET http://localhost:9200
HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 425

{
  "name" : "hAdBv7c",
  "cluster_name" : "mycluster",
  ...
  "tagline" : "You Know, for Search"
}

и порт связи узла:

C:\Windows\System32\curl.exe -i -s -X GET http://localhost:9300
This is not a HTTP port

Итак, это убеждает мне, что все работает хорошо ... Но я не могу получить данные эластичного поиска ... У меня все это работало на docker панели инструментов, но с небольшой разницей в параметре: ES_HOST = 192.168.99.100

Кажется этот набор инструментов docker работал по-другому и имел IP-адрес по умолчанию для машины. Поэтому мне оставалось только переслать ES на соответствующий адрес. Здесь в windows 10 docker что-то пошло не так при передаче данных через порт 9300, но теперь я не могу напрямую сопоставить ES с docker ip. Я пытался привязать его к сети хоста, но это не имеет смысла: http://localhost: 9200 или http://localhost: 9300 недоступно ...

Есть идеи?

...