我正面临来自docker容器的MongoDB连接问题,我读了一些stackoverflow的答案,但没有帮助我解决我的问题。
我的application.yml文件有以下内容,
spring:
application:
name: web-ui-service
data:
mongodb:
uri: mongodb://<username>:<pwd>@172.17.0.1:27017/database
我的docker-compose文件有以下内容,
版本:'3.5'服务:
sp-app-web-ui:
container_name: sp-app-web-ui
image: swimming-pool/web-ui-service
environment:
- DOCKER_HOST_IP=mongodb://172.17.0.1:27017
- SPRING_DATA_MONGODB_DATABASE=swimming-pool
ports:
- 8080:8080
networks:
- swimming-pool-app
restart: unless-stopped
networks:
swimming-pool-app:
default:
driver: bridge
sp-app-web-ui com.mongodb.mongosocketopenexception:异常打开socket sp-app-web-ui at com.mongodb.Connection.socketstream.open(Socketstream.java:63)~[mongodb-driver-core-3.4.2.jar!/:na]sp-app-web-ui at core-3.4.2.jar!/:na]java.lang.thread.run(thread.java:745)sp-app-web-ui[na:1.8.0_111]sp-app-web-ui由:java.net.connectexception:Connection拒绝(Connection拒绝)sp-app-web-ui在java.net.plainsocketimpl.socketconnect(本机方法)~[na:1.8.0_111]sp-app-web-ui在java.net.abstractplainsocketimpl.docketconnect(:206)~[NA:1.8.0_111]sp-app-web-ui at java.net.abstractplainsockeTimpl.connect(abstractplainsockeTimpl.java:188)~[NA:1.8.0_111]sp-app-web-ui at java.net.sockssockeTimpl.connect(SockssockeTimpl.java:392)~[NA:1.8.0_111]sp-app-web-ui at java.net.socket.connect(Socket.java:589)~[NA:1.8.0_111]sp-app-web-ui at db.connection.socketstream.open(Socketstream.java:58)~[mongodb-driver-core-3.4.2.jar!/:na]
我用的是Debian和Docker18.06。如果你有人帮我就太好了。提前感谢!
我已经解决了这个问题,我的docker-compose文件如下所示,
version: '3.5'
services:
sp-app-web-ui:
container_name: sp-app-web-ui
image: swimming-pool/web-ui-service
environment:
- SPRING_PROFILES_ACTIVE=dev
ports:
- 8080:8080
network_mode: host
并在mongo.conf文件的bindIp变量中添加“127.0.0.1”。
我的application.yml有以下内容,
spring:
application:
name: web-ui-service
data:
mongodb:
uri: mongodb://<username>:<pwd>@172.0.0.1:27017/database
这个IP127.0.0.1是在Linux上ping IP a时从docker0获得的。
问题内容: 所以我想连接到我在主机上运行的mongodb(DO Drop,Ubuntu 16.04)。它在localhost 的默认端口上运行。 然后,我使用mup将我的Meteor应用程序部署在我的DO Drop上,该DO Drop使用docker在容器内运行Meteor应用程序。到目前为止,一切都很好。使用标准连接URL将应用程序连接到mongodb。现在我有以下问题: 显然不能在docker
我的数据库连接是用下面的类处理的: 这是我的spring boot控制器 下面是我的dockerfile: 我读了这里和这里提到的解决方案。也阅读了一些教程,但我无法将这些解决方案中的任何一个适合我的代码。在我的代码中,我应该在哪里更改?
问题内容: 我正在使用docker- compose 运行一个应用程序。一切正常,通过连接到容器内的Mongo,我可以看到所有数据。但是,当我连接到RoboMongo时,我看不到任何数据。 我该如何解决这个问题? 问题答案: 您应该在Docker容器内建立到MongoDB的Robomongo SSH隧道连接。首先,您应该在docker容器中安装一个ssh服务器。 https://docs.dock
问题内容: 我一直在尝试获取基本的nodeJS api以连接到mongo容器。两种服务都在docker- compose.yml文件中定义。我在这里和码头工人论坛上都读过无数类似的问题,所有这些都表明问题是您的mongo连接URI。这不是我的问题,您将在下面看到。 docker-compose.yml Docker文件 db / mongoose.js 设置mongodb连接 但是无论什么api容
我一直在尝试获取一个基本的nodeJS api来连接到mongo容器。这两个服务都是在docker compose中定义的。yml文件。我在这里和docker论坛上读到了无数类似的问题,都指出问题是您的mongo连接URI。这不是我的问题,你将在下面看到。docker编写。yml公司 在此输入图像描述 Dockerfile文件 在此输入图像描述 我一直在尝试获取一个基本的nodeJS api来连接
我一直在尝试获取一个基本的nodeJS api来连接到mongo容器。这两个服务都是在docker compose中定义的。yml文件。我在这里和docker论坛上读到了无数类似的问题,都指出问题是您的mongo连接URI。这不是我的问题,你将在下面看到。 docker编写。yml公司 文档文件 db/猫鼬。js设置mongodb连接 但无论api容器无法连接什么。我尝试将mongo uri设置为