【发布时间】:2016-12-21 13:46:01
【问题描述】:
我可以 npm 从 cmd 启动代码并让它与 mongodb 一起运行,但是 docker build 代码和 docker run 它会生成此错误:
/usr/src/app/node_modules/mongoose/node_modules/mongodb/lib/server.js:265
process.nextTick(function() { throw err; })
^
MongoError: failed to connect to server [127.0.0.1:27017] on first connect
at null.<anonymous> (/usr/src/app/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:325:35)
at emitOne (events.js:77:13)
at emit (events.js:169:7)
at null.<anonymous> (/usr/src/app/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/connection/pool.js:270:12)
at g (events.js:260:16)
at emitTwo (events.js:87:13)
at emit (events.js:172:7)
at Socket.<anonymous> (/usr/src/app/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/connection/connection.js:173:49)
at Socket.g (events.js:260:16)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at emitErrorNT (net.js:1269:8)
at nextTickCallbackWith2Args (node.js:458:9)
at process._tickCallback (node.js:372:17)
我的 app.js 正在侦听端口 8080,我在 dockerfile 上暴露了端口 8080 和 27017。我可以知道我还应该做什么来解决错误。我是这方面的初学者,请原谅我。
【问题讨论】:
-
你也可以分享你的 docker 命令吗?
-
docker build -t ryan/edocker 。 docker run -p 8080:8080 -d ryan/edocker
标签: node.js mongodb docker mongoose