简体   繁体   English

将 Spring 引导容器连接到 Mongo 容器:java.net.UnknownHostException:mongo:系统错误?

[英]Connecting Spring boot Container to Mongo Container: java.net.UnknownHostException: mongo: System error?

I have created a simple Spring Boot Rest Application that I have dockerized and is working as expected when I use mongo locally.我创建了一个简单的Spring Boot Rest 应用程序,我已将其 dockerized 并在本地使用mongo时按预期工作。

However I have now tried to use Docker Compose to run a Mongo container to connect to rather than my local host.但是我现在尝试使用Docker Compose来运行Mongo容器来连接而不是我的本地主机。

Docker-compose up -d works but when I try to hit my endpoint that queries Monogo I get: Docker-compose up -d有效,但是当我尝试访问查询 Monogo 的端点时,我得到:

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]

In my application.properties file I have:在我的 application.properties 文件中,我有:

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

My Docker file for my spring boot app (called pokerStats):我的 spring 启动应用程序(称为 pokerStats)的Docker file

#
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"]

My docker-compose.yml file:我的docker-compose.yml文件:

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

The properties file specifies the host mongo , but containers are discoverable via the container name, which is db .属性文件指定主机mongo ,但可以通过容器名称发现容器,即db

Either the properties need to be changed to use the right name or the container name changed to what the properties file expects.要么需要更改属性以使用正确的名称,要么将容器名称更改为属性文件所期望的名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何解决 java.net.UnknownHostException: mosquitto in docker 容器? - How to solve java.net.UnknownHostException: mosquitto in docker container? Keycloak docker 容器在启动期间抛出`java.net.UnknownHostException` - Keycloak docker container throws `java.net.UnknownHostException` during startup java.net.UnknownHostException来自spring boot应用程序的dockerized mysql - java.net.UnknownHostException dockerized mysql from spring boot application 如何在使用 Spring Boot 和 Eureka Server 时修复错误 java.net.UnknownHostException? - How to fix the error java.net.UnknownHostException while using Spring Boot and Eureka Server? 的java.net.UnknownHostException - java.net.UnknownHostException java.net.UnknownHostException:&lt; <hostname> &gt;:未知错误 - java.net.UnknownHostException: <<hostname>> : unknown error Docker:将Spring Boot容器与Mongo DB容器链接 - Docker: Linking Spring Boot container with Mongo DB container Jenkins java.net.UnknownHostException错误 - Jenkins java.net.UnknownHostException Error Spring Boot Admin:java.net.UnknownHostException:3 次查询后无法解析“SAURABH-PC.mshome.net” - Spring Boot Admin : java.net.UnknownHostException: Failed to resolve 'SAURABH-PC.mshome.net' after 3 queries java.net.UnknownHostException:在 Spring Boot 和 Cloud 中进行 4 次查询后无法解析“inventory-service” - java.net.UnknownHostException: Failed to resolve 'inventory-service' after 4 queries in Spring Boot and Cloud
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM