Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何在CF中测试服务实例_Mongodb_Ssh_Cloud_Cloud Foundry - Fatal编程技术网

Mongodb 如何在CF中测试服务实例

Mongodb 如何在CF中测试服务实例,mongodb,ssh,cloud,cloud-foundry,Mongodb,Ssh,Cloud,Cloud Foundry,我已经从市场上创建了服务的服务实例,例如mongoDB实例,我的问题是,如果我想在本地(在本地机器上)开发并连接到此服务实例,我该怎么做 我想测试我的应用程序对备份服务创建的实例,我如何做它简单示例将非常有用 更新: 我尝试连接到云上的MongoDB实例 从我的locall应用程序。 (如果我放置应用程序,我可以成功连接,但我希望从本地pc连接,即在本地运行我的应用程序) 当我通过push my连接到此DB时,我执行了以下操作 if (process.env.VCAP_SERVICES) {

我已经从市场上创建了服务的服务实例,例如mongoDB实例,我的问题是,如果我想在本地(在本地机器上)开发并连接到此服务实例,我该怎么做

我想测试我的应用程序对备份服务创建的实例,我如何做它简单示例将非常有用

更新: 我尝试连接到云上的MongoDB实例 从我的locall应用程序。 (如果我放置应用程序,我可以成功连接,但我希望从本地pc连接,即在本地运行我的应用程序)

当我通过push my连接到此DB时,我执行了以下操作

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