2015-05-05 20 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.