2017-01-15 3 views
4

나는 시장에서 서비스 인스턴스를 생성했습니다. mongoDB의 인스턴스와 내 질문에 로컬로 (내 로컬 컴퓨터에서) 개발하고이 서비스 인스턴스에 연결하려면 어떻게해야합니까?CF에서 서비스 인스턴스를 테스트하는 방법

백업 서비스의 생성 된 인스턴스에 대해 내 앱을 테스트하고 싶습니다. 어떻게 간단하게 할 수 있습니까? 내 locall 앱에서 클라우드 파운드리 에 MongoDB의 인스턴스에 연결하려고 : 예는 매우 도움이

UPDATE 될 것입니다. (내가 성공적으로 연결할 수 있었다 응용 프로그램을 넣어하지만, 즉 로컬 내 응용 프로그램을 실행 내 로컬 PC에서 연결하려는 경우) 내가 푸시를 통해이 DB에 연결할 때

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:[email protected]: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.json에서) 내 프로젝트에 위의 설정을 복사하여이과를 통해 내 로컬 응용 프로그램에서 연결을 시도

작동하지의 작동 617,451,515,
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) 

이상이 앞으로 어떻게 어떤 생각입니다 내가 URI를 사용할 때 내 CF에서 실행중인 응용 프로그램하지만 지금은 임 로컬 내 PC에서 실행할 수 없습니다 및 CF의 서비스 인스턴스에 연결하십시오.

+0

OP는이 질문이 Bluemix에 관한 것이 아니기 때문에 ibm-bluemix 태그를 제거했습니다.어떤 답변을 게시하는 사람들에 의해 잘못된 가정으로 이어질 수 있습니다. –

답변

0

라이언,

mongodb 서비스는 따라서 당신이 당신의 로컬 컴퓨터에서 연결할 수 없습니다, 당신은 단지 클라우드 파운드리 응용 프로그램을 통해 액세스 할 수 있습니다 Bluemix에서 사용할 수있는 실험적인 서비스입니다. 또한 만들 것입니다 당신이 서비스의 인스턴스를 생성하면

https://console.ng.bluemix.net/catalog/services/compose-for-mongodb

: 당신이 당신의 응용 프로그램에 연결 Bluemix에 MongoDB의 데이터베이스를 사용하고 갖고 싶어

당신은 Compose for MongoDB 서비스를 사용할 수 있습니다 기본 자격 증명. 당신은 당신이 서비스에 바인딩 Bluemix 응용 프로그램에서 VCAP_SERVICES를 통해 자격 증명에 액세스하거나 CF 명령 줄을 통해 자격 증명을 얻을 수 있습니다 : 당신이 MongoDB의 인스턴스의 작성을 만들 때

$ cf service-key your-instance-name Credentials-1 

Credentials-1 자격 증명의 기본 이름입니다 .

+0

안녕하세요 알렉스 나는 깨끗한 CF 설치 (지금은 bluemix가 아닌)에 대해 몽고 포스트 레그리스 (redong) 등과 같은 기본 서비스를 포함하여 사용하려고 노력하고 있습니다. 연결이 가능합니까? 만약 지금 왜? –

+0

또한 앱을 밀 때 mongodb에 연결하여 데이터를 저장할 수있었습니다 (cf create service ....를 통해 새 인스턴스를 만들었습니다), 내 질문은 단지 내 응용 프로그램을 로컬로 실행하는 것입니다. 서비스 인스턴스 (앱을 누를 때 제대로 작동합니다 ...) –

+0

나는 이것을 클라우드 파운드리의 기본 구성이라고 생각하지만 확실하지 않습니다. 이 액세스를 허용하도록 네트워크를 구성하려고 시도 할 수는 있지만이를 수행하는 방법을 모르겠습니다. https://docs.cloudfoundry.org/devguide/deploy-apps/ssh-services.html –

0

로컬 응용 프로그램 테스트를 위해 cf bind-route-service를 사용하여 서비스 인스턴스에 외부 경로를 매핑 할 수 있지만 그렇게해서는 안됩니다.

CloudFoundry 조직 내에 별도의 개발 공간을 갖고 매우 초기 단계부터 CF의 모든 것을 테스트/배포하는 것이 좋습니다.