我想访问在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", "&"]
我的应用程序属性:
spring.data.mongodb.uri = <mongodb-url>
我将 docker 镜像构建为:
docker build -t app:app .
我将 docker 镜像运行为:
docker run -d <imageId>
最佳答案
以下命令即可完成工作。
docker run --net=host <imageId>
请小心使用此命令,因为 --net=host
使容器与主机共享网络。容器的网络将不再隔离。
关于java - 如何将我的 docker 连接到远程数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52038357/