我正在使用mongoDB和NodeJS后端。问题是我得到了以下错误
Node: 16)UnHandledPromiseRejessWarning: MongoNetworkError:首次连接时连接到服务器[localhost:27017]失败[MongoNetworkError:连接ECONNREFUSED127.0.0.1:27017]
这是我的码头作曲
version: '3.4'
services:
db:
image: mongo:latest
ports:
- '27017:27017'
rest-api-node:
build: .
ports:
- '5000:5000'
links:
- db
restart: on-failure
我也尝试过使用dependens\u on
,但不起作用。
在后端,我将mongoose作为与DB通信的中间件。这是我的索引的一部分。js
mongoose.Promise = global.Promise
mongoose.connect('mongodb://localhost/demo')
app.listen(port, () => console.log("live"))
我也尝试过使用promise,但没有改变。请帮帮我。提前感谢
完整的错误日志
在游泳池。(/app/node_modules/mongodb core/lib/topologies/server.js:505:11)池中的rest-api-node_1。在连接处发出(events.js:180:13)rest-api-node|1。(/app/node_modules/mongodb core/lib/connection/pool.js:329:12)rest-api-node_1|at对象。onceWrapper(events.js:272:13)rest-api-node|1|at Connection。在套接字上发出(events.js:180:13)rest-api-node_1。(/app/node_modules/mongodb core/lib/connection/connection.js:245:50)rest-api-node_1|at对象。套接字上的onceWrapper(events.js:272:13)rest-api-node|1。emit(events.js:180:13)rest-api-node|1|at emitErrorNT(internal/streams/destroy.js:64:8)rest-api-node|1|at process_tickCallback(internal/process/next_tick.js:178:19)rest-api-node|1|name:'MongoNetworkError',rest-api-node|1|
消息:“未能在第一次连接时连接到服务器[localhost:27017]。[MongoNetworkError:connect econnrefuse127.0.0.1:27017]”
我也被困在这几个小时了!在连接字符串中设置db:27017
,在restapi节点上设置
restart:always
,确保您连接到正确的IP,并确保节点服务器继续尝试连接到您的db。这对我有用!
我有同样的问题其他解决方案不适合我但我这样做
对于mongo URI,您必须使用您的MongoDB服务名称
,而不是127.0.0.1
或localhost
例如,在下面的docker-comment文件中,我的mongo服务名称是mongob-myapp
,我将URI更改为mongob-myapp: 27017/myapp
,它适用于我
services:
boilerplate-api-app:
build: .
environment:
- MONGO_URI=mongodb://mongodb-myapp:27017/myapp
volumes:
- .:/app
ports:
- "5000:5000"
depends_on:
- mongodb-myapp
mongodb-myapp:
image: mongo
ports:
- "27017:27017"
默认情况下,Compose为应用程序设置单个网络。服务的每个容器都加入默认网络,并且该网络上的其他容器都可以访问该容器,并且可以通过与容器名称相同的主机名发现该容器。
根据您的docker-compose.yaml
文件,您可以访问您的mongo容器上的127.0.0.1:27017
只能从主机。为了从NodeJS后端容器访问它,您应该使用db: 27017
。
在日志屏幕中,我得到一个错误:
问题内容: 我是nodeJS的新手,通过关注youtube上的预告片开始学习,直到我添加了connect函数(如果mongodb, 当我在cmd(节点启动应用)上运行代码时,出现以下错误, 有人可以解释一下我错过了哪一步吗?我的代码: 问题答案: 您必须先在系统中安装数据库服务器并启动它。 使用以下链接进行安装 https://docs.mongodb.com/manual/installatio
我在运行使用Netty的服务时遇到了问题。它启动和工作正常,但只有一次。在此之后,不接受任何连接(它们将立即被删除)。 当我第一次使用(示例端口,随便什么)连接到服务器时,一切正常: 客户端会话: 服务器日志: --编辑2-- 只要连接处于活动状态,服务器就可以正常工作--在关闭连接之前,我可以轻松地交换请求/响应。 不要被IP地址迷惑,这是一个转发到Docker的本地端口,应用程序就是在那里启动
我试图使用java包装器将RunDeck server作为windows服务运行,本文将指导您:http://www.phwitservices.com/2014/06/rundeck-windows-service
我们在谷歌云平台上一直面临着一个相当奇怪的问题。我们试图在google cloud上设置一个Hbase独立实例,并使用静态IP地址,然后通过Java API远程连接到该实例。 如果代码被编入Jar并部署在HBase服务器上,则运行良好,但是从本地机器上运行,尽管它打开了所有端口并完全访问,但拒绝通过Zookeeper进行连接。 搜了无数论坛,都没能成功。 已经更改了etc/hosts文件,在hba
我正在尝试使用 javamail 连接到本地后缀鸽子服务器。我已经使用 Thunderbird 成功连接到服务器,所以我知道我的用户名和密码是正确的,但我总是得到 我所知道的唯一一件事就是改变java。禁用一些不太安全的协议。dovecot需要什么协议?还是我看错了方向。 如果这是一个协议问题,是否有任何方法可以将参数传递给编译器?我确实有其他服务,我想阻止支持禁用的协议 编辑: 这是我使用的代码