Mongodb 如何在CF中测试服务实例
我已经从市场上创建了服务的服务实例,例如mongoDB实例,我的问题是,如果我想在本地(在本地机器上)开发并连接到此服务实例,我该怎么做 我想测试我的应用程序对备份服务创建的实例,我如何做它简单示例将非常有用 更新: 我尝试连接到云上的MongoDB实例 从我的locall应用程序。 (如果我放置应用程序,我可以成功连接,但我希望从本地pc连接,即在本地运行我的应用程序) 当我通过push my连接到此DB时,我执行了以下操作Mongodb 如何在CF中测试服务实例,mongodb,ssh,cloud,cloud-foundry,Mongodb,Ssh,Cloud,Cloud Foundry,我已经从市场上创建了服务的服务实例,例如mongoDB实例,我的问题是,如果我想在本地(在本地机器上)开发并连接到此服务实例,我该怎么做 我想测试我的应用程序对备份服务创建的实例,我如何做它简单示例将非常有用 更新: 我尝试连接到云上的MongoDB实例 从我的locall应用程序。 (如果我放置应用程序,我可以成功连接,但我希望从本地pc连接,即在本地运行我的应用程序) 当我通过push my连接到此DB时,我执行了以下操作 if (process.env.VCAP_SERVICES) {
if (process.env.VCAP_SERVICES) {
var val = JSON.parse(process.env.VCAP_SERVICES)
mongoose.connect(val['mongodb'][0].credentials.uri, function (err) {
。。。
现在我将上面的配置复制到我的项目中(在config/config.json下)
并尝试通过此从我的本地应用程序连接,但它不起作用
var config = require('../config/config.json');
mongoose.connect(val['mongodb'][0].credentials.uri, function (err
错误为
failed to connect to server [10.11.123.30:36232] on first connect
at Pool.<anonymous> (/Users/f53356/WebstormProjects/dlStackDemo/node_modules/mongodb-core/lib/topologies/server.js:325:35)
at emitOne (events.js:96:13)
at Pool.emit (events.js:188:7)
第一次连接时无法连接到服务器[10.11.123.30:36232]
在游泳池。(/Users/f53356/WebstormProjects/dlStackDemo/node_modules/mongodb core/lib/topologies/server.js:325:35)
在emitOne(events.js:96:13)
在Pool.emit(events.js:188:7)
你知道怎么过来吗,
当我的应用程序在CF上运行时,我会使用URI,但现在我无法在本地从我的pc上运行它并连接到CF中的服务实例,有什么想法吗?Ryan
mongodb
服务是Bluemix中提供的实验性服务,您只能通过Cloud Foundry应用程序访问该服务,因此无法从本地计算机连接该服务
如果您想在Bluemix中使用MongoDB数据库并让应用程序连接到它,您可以使用Compose for MongoDB
服务:
创建此服务的实例后,它还将创建默认凭据。您可以从绑定到服务的Bluemix应用程序通过VCAP_服务访问凭据,也可以通过cf命令行获取凭据:
$ cf service-key your-instance-name Credentials-1
Credentials-1
是创建Compose for MongoDB实例时凭据的默认名称。您可以使用cf bind route service将外部路由映射到您的服务实例,以便使用本地应用程序进行测试,但不应这样做
最好在您的CloudFoundry组织中有一个单独的开发空间,并从一开始就在CF中测试/部署所有内容。嗨,Alex,我尝试将其用于clean CF安装(目前不是bluemix),其中包括mongo postgress redis等默认服务,是否可以连接到它?如果现在为什么?此外,当我推送我的应用程序时,我能够连接到mongodb并存储数据(我通过cf create service创建了新实例…),我的问题是如果我在本地运行我的应用程序,我如何连接到服务实例(推送应用程序时工作正常…),我相信这是cloud foundry的默认配置,但我不确定。您可能可以尝试配置您的网络以允许此访问,但我不知道如何做到这一点。您可以尝试创建一个ssh隧道,如这里所述:谢谢,但这没有帮助,还有其他想法吗?您使用的是pcfdev或bosh lite,还是其他cloudfoundry安装?我已成功地从本地站点连接到pcfdev内的服务实例。尝试连接mongo命令行客户端。如果这不起作用,那么防火墙会阻止连接。我已经删除了IBMBlueMix标签,因为OP确认这个问题与bluemix无关。这可能会导致发布任何答案的人做出错误的假设。
$ cf service-key your-instance-name Credentials-1