gpt4 book ai didi

node.js - 从另一个 docker 容器连接到 Mongodb docker 容器

转载 作者:太空宇宙 更新时间:2023-11-03 23:18:27 29 4
gpt4 key购买 nike

我正在尝试从运行我的 Node js代码的另一个docker容器连接在docker容器中运行的mongo DB。

所以我使用以下命令运行 MongoDB docker:

docker run --name my-local-mongo -v mongo-data:/data/db -p 27017:27017 -d mongo

我可以从浏览器输入 0.0.0.0:27017 进行访问,但是当我尝试从 Node js 代码连接时,出现以下错误。我的 url 变量是:

var url = "mongodb://0.0.0.0:27017/surveydb";

{ MongoNetworkError: failed to connect to server [0.0.0.0:27017] on first connect [MongoNetworkError: connect **ECONNREFUSED 0.0.0.0:27017**]
at Pool.<anonymous> (/usr/src/appg08/node_modules/mongodb-core/lib/topologies/server.js:564:11)
at Pool.emit (events.js:182:13)
at Connection.<anonymous> (/usr/src/appg08/node_modules/mongodb-core/lib/connection/pool.js:317:12)
at Object.onceWrapper (events.js:273:13)
at Connection.emit (events.js:182:13)
at Socket.<anonymous> (/usr/src/appg08/node_modules/mongodb-core/lib/connection/connection.js:246:50)
at Object.onceWrapper (events.js:273:13)
at Socket.emit (events.js:182:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
name: 'MongoNetworkError',
errorLabels: [ 'TransientTransactionError' ],
[Symbol(mongoErrorContextSymbol)]: {} }

谢谢。

最佳答案

var url = "mongodb://0.0.0.0:27017/surveydb";

ip地址仅在您的nodejs容器中,因此您应该知道mongo容器的ip地址是什么或分配给容器的ip地址网关。

var url = "mongodb://172.17.0.1:27017/surveydb";

var url = "mongodb://ipaddressofmongocontainer:27017/surveydb";

关于node.js - 从另一个 docker 容器连接到 Mongodb docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52417322/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com