首页 > 解决方案 > 在本地 docker 中运行时从 Spring Boot 应用程序连接到 mongo 服务器时出错

问题描述

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

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

请帮我解决它。

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

标签: mongodbspring-bootdockerdocker-containerdocker-network

解决方案


分享我的 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.propertiesis-

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

推荐阅读