Mik*_*ike 5 mongodb node.js digital-ocean dokku
我正在尝试使用mokodb在数字海洋上使用dokku部署Node.js应用程序.不幸的是,我有一些问题让节点应用程序连接到mongodb.
到目前为止我做了什么.0.我在git repo中有一个node.js应用程序1.在数字海洋中创建了dokku实例(在ubuntu 14.04上运行)2.我创建了一个dokku-mongodb-plugin(参见https://github.com/jeffutter/dokku -mongodb-plugin):按照那里的git clone etc安装说明进行操作.3.将我的应用程序推送到数字海洋服务器(git push -u production master)4.尝试创建一个mongodb进程:(在服务器上):dokku mongodb:创建testapp(testapp是我的应用程序的名称)5.运行我的app:dokku运行testapp节点app.js
这会导致连接错误(在底部)
我测试过:dokku mongodb:list
并且它没有返回任何内容,这让我觉得插件可能存在问题?
否则,我怀疑这可能是因为mongodb在与标准localhost不同的ip /进程下运行.
无论如何,我不确定问题是什么.任何帮助,将不胜感激.
干杯,迈克
vents.js:72投掷; //未处理的'错误'事件^错误:无法连接到[localhost:27017]为null.(/app/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:546:74)在emit(events.js:106:17)处于null.(/app/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:150:15)在Socket的emit(events.js:98:17)处.(/app/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:533:10)在Socket.emit(events.js:95:17)的net.js:440:14处理过程. _tickCallback(node.js:419:13)
小智 6
dokku mongodb插件使用RFC 1918专用网络地址作为其mongodb docker容器.如本文中所述如何从主机获取Docker容器的IP地址?你可以从docker inspect获取地址.从docker ps获取dokku-mongodb容器的容器ID,然后使用该容器ID运行dokku inspect.
当您使用dokku mongodb:link <app> <database>或在创建数据库时指定应用程序名称,该数据库在您的应用程序的dokku配置中设置一系列mongodb环境变量,您可以通过运行dokku config <app>来查看.
$ dokku config test
=== test config vars ===
NODE_ENV: test
MONGODB_DATABASE: "myapp-test-db-production"
MONGODB_HOST: "172.17.0.123"
MONGODB_PORT: "27017"
MONGODB_USERNAME: "test"
MONGODB_PASSWORD: "***********************"
MONGO_URL: "mongodb://test:**********************@172.17.0.123:27017/myapp-test-db-production"
Run Code Online (Sandbox Code Playgroud)
您需要从mongodb连接代码中引用这些环境变量.在我的例子中,我使用的是meanjs.org模板,所以我将config/env/test.js中db的值设置为db:process.env.MONGO_URL,并使用dokku config:set添加了NODE_ENV = test.
'use strict';
module.exports = {
db: process.env.MONGO_URL,
// db: 'mongodb://localhost/mean-test',
< snip >
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3045 次 |
| 最近记录: |