Java Spring соединение из докер-контейнера с БД

108
11 июня 2019, 12:30

Хочу запустить свой сервис, написанный на спринге, в докер-контейнере. Сервис работает с RethinkDB, который уже запущен в контейнере. Контейнер с RethinkDB открыл порты 8080, 28015 и 29015. Я могу подключиться к этой БД снаружи - например, набрав в браузере адрес админки localhost:8080 или запустив сервис в IDE, при этом сервис успешно соединяется с БД.

Когда я пытаюсь запустить сервис в контейнере, вылетает ошибка подключения к БД:

Caused by: java.net.ConnectException: Connection refused (Connection refused)
    at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:400)
    at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:243)
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:225)
    at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:402)
    at java.base/java.net.Socket.connect(Socket.java:591)
    at com.rethinkdb.net.SocketWrapper.connect(SocketWrapper.java:53)
    ... 69 common frames omitted

Почему-то два сервис из контейнера не может подключиться к БД, даже если запустить ее не в контейнере, а на хосте.

Как решить эту проблему? Как БД, так и сервис в конечном итоге должны работать в докере.

Докер-файл для сервиса написан так:

FROM openjdk:10-jre
EXPOSE 8086
COPY my_app-1.1.jar /app.jar
COPY newrelic/ /newrelic/
CMD ["/usr/bin/java", "-jar", "/app.jar"]
READ ALSO
Поиск суммы цифр числа независимо от длины с помощью лямбда выражения в Java

Поиск суммы цифр числа независимо от длины с помощью лямбда выражения в Java

Пытаюсь решить задачу на Java именно с помощью лямбда выражения

119
Использование record screen appium

Использование record screen appium

Для записи видео с экрана телефона использую след команды:

137
Java Tomcat переход с ip на домен

Java Tomcat переход с ip на домен

Я купил вдс сервер и установил на нем Tomcatна вдс есть ip и домен (которые вроде привязан к этому ip) Кинул свой проект в webapps

119