在这些日子里,我正在尝试部署我的Spring Boot OAuth2项目。它有3个不同的模块。(身份验证服务器,资源服务器和前端)身份验证和资源服务器有自己的*.yml文件配置,如mongodb名称-端口,服务器配置文件-IP等。我正在尝试做什么?我想在docker上部署Spring Boot应用程序,但我不想把我的数据库(mongodb)作为容器放在docker上。我不确定这种结构是否可行?因为当我在本地(localhost:27017)上运行mongodb之后,尝试将spring boot应用程序作为容器部署在本地docker上时,我会得到mongodb的超时异常。应用程序无法连接到外部mongoDB(非docker容器)。
我该怎么办?我应该在Docker上运行mongodb吗?我也试了一下,Mongo运行成功,但spring容器仍然不能运行和连接到Mongo。我尝试在没有mongodb的情况下运行另一个spring boot应用程序,它运行成功,并且我通过IP&Port向浏览器发出请求,我得到了应用程序的响应。
*** MONGO URL **** mongodb://127.0.0.1:27017/db-localhost **** Authentication server .yml file **** server: port: 9080 contextPath: /auth-service tomcat: access_log_enabled: true basedir: target/tomcat security: basic: enabled: false spring: profiles: active: development thymeleaf: cache: false mongo: db: server: 127.0.0.1 port: 27017 logging: level: org.springframework.security: DEBUG --- spring: profiles: development data: mongodb: database: db-localhost --- spring: profiles: production data: mongodb: database: db-prod --- ***** DOCKER FILE ******* FROM java:8 VOLUME /tmp ADD auth-server-1.0-SNAPSHOT.jar app.jar EXPOSE 9080 RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] **** DOCKER COMMAND ******* docker run -it -P --name authserver authserver
配置的问题是从127.0.0.1
上的authservice内部引用mongodb,后者是authservice容器内部的环回适配器。所以您告诉spring应用程序mongodb运行在与authservice spring应用程序相同的容器中,而事实并非如此。
您可以将数据库作为自己的容器运行(这需要正确处理数据卷),并使用容器名作为主机名(通过链接)引用它,或者需要使用正确的地址引用外部运行的mongodb实例。这将是运行docker守护进程的机器的ip地址(对于您的本地环境,我假设类似于192.168.0.xxx
)。
问题内容: 我正在构建一个使用postgresql在NodeJS上运行的应用程序。我正在将SequelizeJS用作ORM。为了避免使用真正的postgres守护程序并在自己的设备上安装nodejs,我使用了带有docker- compose的容器。 当我运行 它启动pg数据库 和nodejs服务器。但服务器无法连接到数据库。 如果我尝试在不使用容器的情况下运行服务器(在我的计算机上使用真正的no
我的MongoDB卡住并返回以下错误: 但是,我的磁盘有空间: df-h df-i 这将是我的docker撰写: 这对我的码头工人来说是个问题。yml?因为我使用的是物理磁盘,而不是虚拟磁盘。我可以运行应用程序,1-2小时后mongo将再次失败。
我在Docker上有分片系统。我有一个带有副本集的6个碎片(P-S-A)、带有副本集的配置服务器和2个mongo服务器。
我可以将其更改为正确的容器主机名-->plaintext://kafka:9092,但这样我就无法用其他应用程序再次访问kafka实例了。有什么简单的方法可以解决这个问题吗?
What is MongoDB® packaged by Bitnami? MongoDB® is a cross-platform document-oriented database. Classified as a NoSQL database, MongoDB® eschews the traditional table-based relational database structur
问题内容: 我需要从Docker容器中在后台运行的Java应用程序中启动Selenium。启动失败,因为在运行时无法访问X11环境。请参阅下面的内容。 我该怎么办? 问题 我从安装Java 8和Jetty 9.3.x 的简单程序开始运行一个简单的服务(实际上是selenium的东西)。该服务实际上是为了启动一些需要UI才能执行的事情而设置的。我遇到的问题是其中的任何内容执行失败,因为UI在我运行的