我从市场创建了服务的服务实例,例如mongoDB的例子和我的问题,如果我想在本地开发(在我的本地机器上)并连接到这个服务实例我该怎么办?
我想针对已创建的支持服务实例测试我的应用程序,我怎么能做到这一点简单......? 示例将非常有用
更新 我尝试连接到云代工厂的MongoDB实例 从我的locall应用程序。 (如果我放了应用程序,我能够成功连接,但我想从本地PC连接,即在本地运行我的应用程序)
I got the following db (json) credentials:
{
"mongodb": [
{
"credentials": {
"dbname": "CFad18ZNGYzzrrts",
"hostname": "10.11.123.30",
"password": "RttomuAV9yvhwHm_",
"port": "36232",
"ports": {
"27017/tcp": "36232",
"28017/tcp": "49255"
},
"uri": "mongodb://xppt7gdk1G9Y1pd3:RttomuAV9yvhwHm_@10.11.123.30:36232/CFad18ZNGYzzrrts",
"username": "xppt7gdk1G9Y1pd3"
},
"label": "mongodb",
"name": "mod",
"plan": "v3.0-container",
"provider": null,
"syslog_drain_url": null,
"tags": [
"mongodb",
"document"
],
"volume_mounts": []
},
当我通过推送连接到此数据库时,我执行了以下操作
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)
知道怎么过来这个, 当我的应用程序在CF上运行时我使用URI,但现在我无法从本地我的电脑上运行它并连接到CF中的服务实例,任何想法?
答案 0 :(得分:0)
瑞恩
mongodb
服务是Bluemix中提供的实验服务,您只能通过Cloud Foundry应用程序访问,因此您无法从本地计算机连接它。
如果您想在Bluemix中使用MongoDB数据库并让应用程序连接到它,您可以使用Compose for MongoDB
服务:
https://console.ng.bluemix.net/catalog/services/compose-for-mongodb
创建此服务的实例后,它还将创建默认凭据。您可以从绑定到服务的Bluemix应用程序通过VCAP_SERVICES访问凭据,也可以通过cf命令行获取凭据:
$ cf service-key your-instance-name Credentials-1
Credentials-1
是创建Compose for MongoDB实例时凭据的默认名称。
答案 1 :(得分:0)
您可以使用cf bind-route-service将外部路由映射到服务实例,以便使用本地应用程序进行测试,但不应该这样做。
最好在您的CloudFoundry组织中拥有一个单独的开发空间,并从一开始就在CF中测试/部署所有内容。