【问题标题】:Error while Connecting to a mongo server from a spring boot application when running in a docker locally在本地 docker 中运行时从 Spring Boot 应用程序连接到 mongo 服务器时出错
【发布时间】:2020-06-18 06:30:47
【问题描述】:

我使用 Spring Boot 框架构建了一个 REST API。在应用程序中,我尝试连接到在 IDE 中运行时成功连接的 mongo 服务器。

但是当我尝试在 docker 中运行它时,我遇到了以下问题。

请帮我解决。

com.mongodb.MongoSocketException: qa-***mongo02.aws.*****.local: 名称或服务未知

【问题讨论】:

标签: mongodb spring-boot docker docker-container docker-network


【解决方案1】:

分享我的 docker-compose.yml 希望这会有所帮助。

version: "3.7"
services:
    playground_spring_test1_java:
        container_name: playground_spring_test1_java
        build:
            context: ./demo
            dockerfile: Dockerfile
        stdin_open: true
        # env_file:
        #     - ./dev.env
        tty: true

        volumes:
            - "./demo:/app"
        ports:
            - 80:8080


    playground_spring_test1_mongo:
        container_name: playground_spring_test1_mongo
        image: mongo
        volumes:
            - playground_spring_test1_mongo_data:/data/db
        ports:
            - 27017:27017

volumes:
  playground_spring_test1_mongo_data:

我正在使用 MongoTemplate 和我的 application.properties 是-

spring.data.mongodb.uri=mongodb://playground_spring_test1_mongo:27017/?authSource=admin

【讨论】:

  • 感谢回复,您使用的是本地服务器连接吗?
  • 是的,您可以使用容器名称作为本地服务器连接的主机名......
  • 是的。我试过了,它有帮助。但我的问题不同。我正在尝试连接到我可以访问的私人服务器。我可以在 IDE 中连接到该服务器,但无法通过 docker 连接。并且该连接需要我确实拥有的openvpn连接。为什么我无法访问该服务器。你能告诉我吗?我在哪里做错了。
猜你喜欢
  • 1970-01-01
  • 2019-01-01
  • 2022-07-20
  • 2020-07-21
  • 2021-03-12
  • 2020-11-21
  • 1970-01-01
  • 2020-07-29
  • 1970-01-01
相关资源
最近更新 更多