2015-04-03 87 views
0

我在docker映像上按照link安装了ccm。 要使用不同的容器来托管每个数据中心,我必须在同一图像上调用'ccm create'和'ccm start'。 换句话说,我需要多个容器来使用相同的图像。docker上的Cassandra集群管理器(ccm)

如果我尝试这些2个呼叫:

...: docker run nav064/ubuntuccm:v4 /bin/sh lccm.sh DC_SLC 5 
Current cluster is now: DC_SLC 
Cluster: 'DC_SLC' 
----------------- 
node1: UP 
node3: UP 
node2: UP 
node5: UP 
node4: UP 

..: docker run nav064/ubuntuccm:v4 /bin/sh lccm.sh DC_BLR 5 
Current cluster is now: DC_SLC 
Cluster: 'DC_BLR' 
----------------- 
node1: UP 
node3: UP 
node2: UP 
node5: UP 
node4: UP 

这是我lccm.sh

ccm create $1 -v 2.1.3 
ccm populate -n $2 
ccm start 
ccm status 

,并查找所有容器

docker ps 

我看不出有任何的容器运行。

回答

0

我还没有测试过,但我认为问题可能是lccm.sh在创建集群后结束。任何Docker容器将在主进程结束后(即PID 1进程和使用docker run启动的进程)结束。你应该运行守护进程来避免这种情况。一个快速的尝试可能会使用这lccm.sh

ccm create $1 -v 2.1.3 
ccm populate -n $2 
ccm start 
ccm status 
while true; do sleep 1000; done