Подключение Spring Boot-контейнера к Mon go Container: java. net .UnknownHostException: mon go: Системная ошибка? - PullRequest
0 голосов
/ 07 апреля 2020

Я создал простое Spring Boot Rest-приложение, которое я докеризировал и работает как положено, когда я использую mongo локально.

Однако теперь я попытался использовать Docker Compose для запуска контейнера Mongo для подключения, а не к моему локальному хосту.

Docker-compose up -d работает, но когда я пытаюсь достичь своей конечной точки, которая запрашивает Mono go, я получаю:

Caused by: java.net.UnknownHostException: mongo: System error
    at java.base/java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) ~[na:na]
    at java.base/java.net.InetAddress$PlatformNameService.lookupAllHostAddr(Unknown Source) ~[na:na]
    at java.base/java.net.InetAddress.getAddressesFromNameService(Unknown Source) ~[na:na]
    at java.base/java.net.InetAddress$NameServiceAddresses.get(Unknown Source) ~[na:na]
    at java.base/java.net.InetAddress.getAllByName0(Unknown Source) ~[na:na]
    at java.base/java.net.InetAddress.getAllByName(Unknown Source) ~[na:na]
    at java.base/java.net.InetAddress.getAllByName(Unknown Source) ~[na:na]
    at com.mongodb.ServerAddress.getSocketAddresses(ServerAddress.java:203) ~[mongodb-driver-core-3.11.2.jar!/:na]

В моем файле application.properties у меня есть:

spring.data.mongodb.uri=mongodb://mongo:27017/pokerStats

Мой Docker file для моего весеннего загрузочного приложения (называемого pokerStats):

#
FROM adoptopenjdk/openjdk11:alpine-jre

#
ARG JAR_FILE=/build/libs/pokerStats-0.0.1-SNAPSHOT.jar

#
WORKDIR /opt/app

#
COPY ${JAR_FILE} app.jar

#
ENTRYPOINT ["java","-jar","app.jar"]

Мой docker-compose.yml файл:

version: "3"
services:
  pokerStats:
    image: pokerStats
    ports:
      - 8080:8080
    depends_on: 
      - db
  db:
    image: mongo
    volumes:
      - ./database:/data
    ports:
      - "27017:27017"

1 Ответ

1 голос
/ 07 апреля 2020

В файле свойств указывается хост mongo, но контейнеры можно обнаружить через имя контейнера, которое db.

. Необходимо либо изменить свойства, чтобы использовать правильное имя или имя контейнера. изменено на то, что ожидает файл свойств.

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