У меня есть установка, в которой я собираю 2 докера с docker -compose.
1 контейнер - это веб-приложение. Я могу получить к нему доступ через порт 8080
. Другой контейнер - ElasticSearch; он доступен через порт 9200
.
Это содержимое моего docker-compose.yml
файла:
version: '3'
services:
serverapplication:
build: "serverapplication"
entrypoint:
- bash
- -x
- init.sh
command: ["jdbcUrl=${jdbcUrl} dbUser=${dbUser} dbUserPassword=${dbUserPassword}"]
ports:
- "8080:8080"
- "8443:8443"
- "8787:8787"
elasticsearch:
build: "elasticsearch"
environment:
- discovery.type=single-node
ports:
- "9200:9200"
- "9300:9300"
При просмотре http://localhost: 8080 / serverapplication Я вижу свое серверное приложение. Когда я перехожу к http://localhost: 9200 / , я вижу страницу по умолчанию ElasticSearch.
Но когда я пытаюсь получить доступ к ElasticSearch изнутри сервоприложения, я получаю «отказано в соединении» , Кажется, что порт 9200
недоступен на локальном хосте для серверного приложения.
Как я могу это исправить?