2017-05-20 1 views
5

우리는 각각 다른 Bluemix 컨테이너에 MongoDB로 실행되는 Java 응용 프로그램을 가지고 있습니다. 둘 다 SINGLE Bluemix 컨테이너입니다.Bluemix는 다른 컨테이너에 연결하는 컨테이너 그룹을 만듭니다.

이미 Blueemix를 가리키는 subdomains : https://subdomain.mydomain.com 중 하나를 사용하여 Java 응용 프로그램을 제공하고자합니다. 어떻게 할 수 있습니까?

우리의 접근 방식 자바 컨테이너가 몽고 컨테이너에 연결해야하기 때문에

, 우리는 (우리가 링크 다른 컨테이너에 컨테이너에 UI에서 방법을 찾을 수 없습니다) 프로그램을 모두 컨테이너를 생성 같은 :

sudo bluemix ic run --name mongo-container -p 27017 -m 128 registry.eu-gb.bluemix.net/mycompany/mongo 

sudo bluemix ic run --name java-container --link mongo-container:mongo -p 8080 -m 128 registry.eu-gb.bluemix.net/mycompany/java 

이 잘 작동하지만, 우리가 원하는대로 자바 응용 프로그램은하지 https://subdomain.mydomain.com을 통해, 못생긴 Blumix IP를 통해서만 액세스 할 수 있습니다.

무엇 Bluemix 용기 GROUP (UI에 SCALABLE 용기)를 사용하는 방법에 대한?

다시 말하지만, 우리는 UI에서 컨테이너를 연결하는 방법을 모른다, 그래서이 있기 때문에 그것은, 우리가 컨테이너에 컨테이너 그룹을 링크 할 수 없습니다

sudo bluemix ic group-create --auto --name java-scalable -p 8080 -m 128 --hostname subdomain --domain mydomain.com registry.eu-gb.bluemix.net/mycompany/java 

하지만according to the documentation 같은 없어야합니다 --link 매개 변수

원래 질문으로 돌아 가기. https://subdomain.mydomain.com을 사용하여 Java 앱을 제공하려면 어떻게해야합니까?

답변

2

기본적으로 link 옵션은 한 컨테이너에 환경 변수를 작성하여 다른 컨테이너에 도달합니다.

Bluemix에서 확장 가능한 컨테이너로 동일한 작업을 수행 할 수 있습니다.

bx ic run --name ads-mongo -p 27017 -m 128 registry.ng.bluemix.net/namespace/mongo 

2) 사설 IP 주소를 찾기 위해 MongoDB의 컨테이너를 검사 :

bx ic inspect ads-mongo 

1) 당신의 MongoDB의 컨테이너를 만듭니다

여기에 내가했던 단계는 개인 IP는 출력이 끝날 때까지 간략하게하기 위해 출력의 일부만 추가합니다.

"Ports": { 
       "27017/tcp": [ 
        { 
         "HostIp": "172.31.0.235", 
         "HostPort": "27017" 
        } 
       ] 
      }, 
      "PublicIpAddress": "" 

3) 확장 가능한 컨테이너를 실행하고 MongoDB 자격 증명에 하나 이상의 환경 변수를 포함하십시오. 확실히 당신은 확장 성이 컨테이너에 전달하는 환경 변수에서 자격 증명 얻기 위해 자바 코드를 변경 확인 : 나는 Node.js를 응용 프로그램을 사용

내 테스트에서
bx ic group-create --name ads-node -e "MONGO_URI=mongodb://172.31.0.235:27017" -p 3000 -m 128 --hostname ads-node --domain mybluemix.net registry.ng.bluemix.net/namespace/ads-nodebx 

을 그리고 그것은 MongoDB를위한 MONGO_URI 환경 변수를 읽고 신임장.

원하는 경우 MongoDB 컨테이너에 공용 IP를 할당 할 수도 있습니다. 최종 결과는 비슷해야합니다. 내가 볼 수있는 유일한 차이점은 mongo 명령 줄이나 다른 도구를 사용하여 데이터베이스에 연결할 수 있다는 것입니다.

2

두 번째 방법을 따르면 Bluemix 컨테이너 그룹을 만들기 전에 MongoDB 서비스를 만들 수 있습니다. Bluemix 컨테이너 그룹 생성하는 동안 당신은 UI에서 고급 옵션 섹션에서 기존 서비스를 결합 할 수있는 능력을 가지고 :

enter image description here

당신이있는 경우는, 컨테이너 작성 중에 사용자 정의 도메인을 사용하도록 선택할 수 있습니다 이전에 하나를 만들어 :이 경우

enter image description here

당신은 또한 기존의 서비스를 포함하는 사용자 정의 도메인과 용기를 가질 것이다.

기존 서비스를 바인딩하는 방법에 대한 자세한 내용은 Container Integration Documentation에서 확인할 수 있습니다. Updating Apps Documentation에 Bluemix에서 맞춤 도메인을 만드는 방법에 대해 자세히 알아볼 수 있습니다.

관련 문제