【发布时间】:2016-11-22 04:53:51
【问题描述】:
这些天来,我正在尝试部署我的 Spring Boot OAuth2 项目。它有 3 个不同的模块。(身份验证服务器、资源服务器和前端) 身份验证和资源服务器有自己的 *.yml 文件用于配置,例如 mongodb name-port、server profile-ip 等。 我到底想做什么?我想在 docker 上部署 spring boot 应用程序,但我不想将我的数据库(mongodb)作为容器放在 docker 上。 我不确定这种结构是否可行? 因为当我在我的本地(localhost:27017)上运行我的 mongodb 之后尝试在本地 docker 上部署 spring boot 应用程序作为容器时,我得到 MongoDB 超时异常。应用程序无法连接到外部 mongoDB(非 docker 容器)。
我该怎么办?我应该在 docker 上运行 mongodb 吗?我也试过了,Mongo 运行成功,但是 spring 容器仍然无法运行并连接到 mongo。 我尝试在没有 mongodb 的情况下运行另一个 spring boot 应用程序,它运行成功,我通过 ip&port 从浏览器发出请求,我得到了应用程序的响应,正如我所料。
*** MONGO 网址 *** mongodb://127.0.0.1:27017/db-localhost **** 认证服务器 .yml 文件 **** 服务器: 端口:9080 上下文路径:/auth-服务 雄猫: access_log_enabled:真 basedir:目标/tomcat 安全: 基本的: 启用:假 春天: 简介: 活跃:发展 百里香叶: 缓存:假 蒙哥: D b: 服务器:127.0.0.1 港口:27017 记录: 等级: org.springframework.security:调试 --- 春天: 简介:发展 数据: 蒙哥达: 数据库:db-localhost --- 春天: 型材:生产 数据: 蒙哥达: 数据库:db-prod --- ***** 码头文件 ***** 来自 java:8 音量/tmp 添加 auth-server-1.0-SNAPSHOT.jar app.jar 暴露 9080 运行 bash -c 'touch /app.jar' 入口点 ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] **** 码头工人命令 ***** docker run -it -P --name authserver authserver【问题讨论】:
-
两种方式都可以。你可以分享你的 mongodb 和 springboot 的 docker 文件以及 docker run 命令吗?
-
您使用哪个 url 从容器连接到 mongo?
标签: mongodb docker spring-boot