2015-05-05 79 views
0

我試圖使用IBM Containers for Bluemix部署容器並將其綁定到Bluemix服務。Bluemix:綁定到容器的服務未出現在VCAP_SERVICES中

我從現有的Bluemix應用程序開始,該應用程序綁定到我想要的MongoDB服務。我驗證其VCAP_SERVICES環境變量正確填充:

$ cf env mamacdon-app 
Getting env variables for app mamacdon-app in org [email protected]/space dev as [email protected] 
OK 

System-Provided: 
{ 
    "VCAP_SERVICES": { 
     "mongodb-2.4": [ 
      { 
       "credentials": { /*private data hidden*/ }, 
       "label": "mongodb-2.4", 
       "name": "mongodb-1a", 
       "plan": "100", 
       "tags": [ "nosql", "document", "mongodb" ] 
      } 
     ] 
    } 
... 

然後我運行使用ice命令我在Bluemix圖像,與--bind mamacdon-app參數將其綁定到我的CF應用:

$ ice run --name sshparty \ 
    --bind mamacdon-app \ 
    --ssh "$(cat ~/.ssh/id_rsa.pub)" \ # For SSH access 
    --publish 22 \      # For SSH access 
    registry-ice.ng.bluemix.net/ibmliberty:latest 

由於顧名思義,該圖像是一個基於IBM Websphere Liberty Docker鏡像的簡單示例 - 足以讓我通過SSH進入並進行探索。

在這一點上,容器儀表盤告訴我,該服務已經綁定到我的容器:

Dashboard showing bound service

但是,當我終於通過SSH進入容器,環境不包含VCAP_SERVICES變量:

$ ssh -i ~/.ssh/id_rsa [email protected] 
[email protected]:~# env 
TERM=xterm 
SHELL=/bin/bash 
SSH_CLIENT=[private data hidden] 
SSH_TTY=/dev/pts/0 
USER=root 
LS_COLORS=[omitted] 
MAIL=/var/mail/root 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
PWD=/root 
LANG=en_CA.UTF-8 
SHLVL=1 
HOME=/root 
LOGNAME=root 
SSH_CONNECTION=[private data hidden] 
LESSOPEN=| /usr/bin/lesspipe %s 
LESSCLOSE=/usr/bin/lesspipe %s %s 
_=/usr/bin/env 
[email protected]:~# 

我預計VCAP_SERVICES變量被注入。我究竟做錯了什麼?

回答

1

我認爲這是與ssh守護進程是越來越推出它沒有知名度的VCAP_SERVICES環境變量的方式的問題。

不過,可以確認容器的命令將看到變量與下面的測試:

ice run registry-ice.ng.bluemix.net/ibmliberty --bind mamacdon-app --name vcap_services_party printenv; sleep 60 

然後,ice logs vcap_services_party

+0

這個工作確認在printenv輸出。是的,似乎'sshd'不會將'VCAP_SERVICES'變量的值注入通過SSH打開的終端會話中。容器中的其他進程只能看到VCAP_SERVICES變量。 – mamacdon

0

可不可以給以下嘗試:

ice run registry-ice.ng.bluemix.net/lintest/tradelite --bind yourappname --name yournewcontainer name 

一旦圖像上來運行以下。

# echo $VCAP_SERVICES 

欲瞭解更多信息請查看Containers Docs.