Подключите Docker Container к локальной службе Elasticsearch - PullRequest
0 голосов
/ 26 сентября 2018

Я использую контейнер Docker, который запускает внутри него файл jar.

Для этого файла jar необходим доступ к Elasticsearch для чтения данных, и эта служба Elasticsearch установлена ​​на локальном компьютере ( Не в DockerКонтейнер )

Мне нужно подключиться к локальной службе Elasticsearch из контейнера Docker, чтобы он заработал

Я написал EXPOSE 9200 9300 service-port в Dockerfile и моей команде запуска Docker выглядит следующим образом:

" docker run -itd --memory = 1g -p 9300: 9300 -p 9200: 9200 -p service-port: service-port - имя service-name имя-службы -XX: + UnlockExperimentalVMOptions -XX: + UseCGroupMemoryLimitForHeap -XX: MaxRAMFraction = 2 -XshowSettings: vm "

и при запускеэта команда выдает следующую ошибку,

" docker: ответ об ошибке от демона: драйвер не смог запрограммировать внешнее соединение на имя службы конечной точки (3de884dd9a62a4a989475721cc4cdf9cb6b78f1a8d345e590471d85052d6a4de):rror запускает пользовательский прокси-сервер: прослушивает tcp 0.0.0.0:9300: bind: адрес уже используется. "

PS = На моем локальном сервере мне нужно сохранить службуasticsearch ON

1 Ответ

0 голосов
/ 26 сентября 2018

И строка EXPOSE, которую вы цитируете, и опции docker run -p 9200:9200 -p 9300:9300 сообщают Docker, что вы запускаете контейнер, предоставляющий сервер Elasticsearch, который вы хотите, чтобы слушал для соединенийна этих портах.Если вы просто пытаетесь установить исходящее соединение со службой Elasticsearch, работающей где-то еще, вам не нужны эти опции, и вы должны удалить их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...