【问题标题】:Exception opening socket exception when trying to connect docker container to mongodb尝试将docker容器连接到mongodb时出现异常打开套接字异常
【发布时间】:2019-08-02 22:21:01
【问题描述】:

我有一个连接到 Mongo 数据库的 Spring Boot 应用程序。我创建了一个 docker-compose 文件。 Spring Boot 应用程序有两个实例。第一个实例在 8080 和 27017 上运行,运行良好。现在第二个实例在 8083 和 27018 上运行。我可以通过 Mongo GUI 轻松连接到 27017 和 27018。但是,当我为第二个实例运行 docker-compose up 时,spring boot 给出了异常。

以下是我的 docker-compose 文件:

第一个实例(docker-compose.yml):

version: '3'
services:
  app:
    container_name: HR-BACKEND
    restart: always
    build: .
    ports:
      - "8081:8080" #VF Webservice
    links:
      - mongo
 mongo:
    container_name: MONGOHR
    image: mongo:4.0.2
    ports:
      - "27017:27017"
    volumes:
      - /data/hrdb:/data/db

第一个实例(application.properties)

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

第二个实例(docker-compose.yml):

version: '3'
services:
  app:
    container_name: VF-BACKEND
    restart: always
    build: .
    ports:
      - "8083:8080" #VF Webservice
    links:
      - mongovf
 mongovf:
    container_name: MONGOVF
    image: mongo:4.0.2
    ports:
      - "27018:27017"
    volumes:
      - /data/hrdb:/data/db

第二个实例(application.properties)

spring.data.mongodb.uri=mongodb://mongovf:27018/tsp

Docker 版本:

Docker 版本 18.09.1,构建 4c52b90

。我真的无法在 SO 中找到解决方案。如果需要更多详细信息,请告诉我

【问题讨论】:

    标签: mongodb spring-boot docker docker-compose


    【解决方案1】:

    在您的第二个实例中,您尝试在错误的端口上连接到 mongo。 application.property 应该是:

    spring.data.mongodb.uri=mongodb://mongovf:27017/tsp


    在 docker compose 上下文中,您无需通过 docker 主机直接连接到容器。这就是为什么您必须直接连接到容器端口,而不是尝试通过 docker 主机上发布的端口进行连接。

    【讨论】:

      猜你喜欢
      • 2021-11-18
      • 2018-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-02
      • 1970-01-01
      相关资源
      最近更新 更多