【发布时间】:2019-02-01 22:27:09
【问题描述】:
我想访问在 url:“xyz”(远程主机)上运行的 mongo db,并且在我的 spring boot 应用程序属性中,我提到了“xyz”的 mongodb url。 现在,当我在 docker 容器中运行此应用程序时,它无法连接到远程 url,并显示连接被拒绝错误。 我们如何从容器内部访问远程数据库?
下面是我的 DockerFile
FROM openjdk:8-jdk-alpine
RUN apk add --no-cache bash
RUN apk add --no-cache curl
EXPOSE 8090
COPY target/<jar file> /application.jar
RUN mkdir /logs
RUN /bin/sh -c "apk add --no-cache bash"
ENTRYPOINT ["/usr/bin/java"]
CMD ["-DLOG_DIR=/logs", "-DLOG_FILE=application.log", "-jar", "-Dspring.profiles.active=local", "-Xmx1g", "/application.jar", "&"]
我的 Application.properties:
spring.data.mongodb.uri = <mongodb-url>
我将我的 docker 镜像构建为:
docker build -t app:app .
我将 docker 镜像运行为:
docker run -d <imageId>
【问题讨论】:
-
您是否为您的 docker 环境设置了网络设置,如果没有,您应该这样做。
-
@MuratGüvenç 更新了问题。请让我知道我必须进行哪些网络设置?
-
@AlexKarshin 更新
-
MongoDB 在哪里,spring.data.mongodb.uri 中的主机是什么?
标签: java mongodb docker spring-boot