Springboot容器使用docker-compose连接到mongo容器的503错误代码

时间:2019-11-09 14:58:58

标签: java mongodb spring-boot docker docker-compose

我试图将在Tomcat容器中运行的spring-boot应用程序(REST端点)与mongo容器连接。我正在使用docker-compose链接两个容器。该应用程序运行正常。它只是突然停止工作。

以下是我的代码:

Dockerfile:

FROM tomcat:9.0.13
WORKDIR /usr/local/tomcat/webapps
#COPY pom.xml .
#RUN ["mvn", "clean", "install"]
COPY /target/TestProfileManager.war .

docker-compose.yml:

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

application.properties

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

如果我从IDE作为独立应用程序运行该应用程序,则端点确实会返回响应。仅在容器通信期间,我才获得503。找不到任何可以回答我的问题的帖子。

感谢您的帮助。从那以后,代码就可以工作了,没有粘贴类。让我知道是否也应该分享他们。

1 个答案:

答案 0 :(得分:1)

应为mongodb://mongo:27017,在服务之间进行通信时,您无需使用发布端口。

  

请务必注意HOST_PORT与   CONTAINER_PORT。 HOST_PORT为27018,而容器端口为   27017网络化的服务到服务通信使用   CONTAINER_PORT

compose-networking