docker容器需要很长时间才能通过shell脚本启动

zbwhf8kr  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(483)

我刚接触shell脚本,最近刚开始使用basic。我已经编写了代码来检查是否有cassandra节点,如果没有,它会给出yes或no,然后执行一些命令。我的问题是我已经启动了node1,我正在检查node是否已经存在,然后获取该容器的id并启动该容器。但是当我运行它的时候,它会得到容器的id,而且会花费很长时间,而且永远不会启动。如果我在没有shell命令的情况下启动容器,它就会启动。但我想让他们沉迷于贝壳。
这是我的密码:

if sudo docker ps -a | grep -q 'node1';then
    sudo docker inspect --format="{{.Id}}" node1
read num    
sudo docker start num
elif sudo docker ps -a | grep -q 'node2';then
    sudo docker inspect --formar="{{.Id}}" node2
read Idnode2 
    sudo docker start Idnode2
else
    sudo docker run --name node1 -d -e CASSANDRA_BROADCAST_ADDRESS=192.168.1.xx -p 7000:7000 cassandra:2
fi

输出:

./tet.sh
f1713abbee52ca465962ec53e97dde62058d37859005f77786db3e3eebe0086c
blinks forever after this

我不明白为什么它眨眼不执行。

z18hc3ub

z18hc3ub1#

我用下面的命令自己解决了

if sudo docker ps -a | grep -q 'node1';then
    sudo docker inspect --format="{{.Id}}" node1    
    sudo docker start node1
elif sudo docker ps -a | grep -q 'node2';then
    sudo docker inspect --formar="{{.Id}}" node2
read Idnode2 
    sudo docker start Idnode2
else
    sudo docker run --name node1 -d -e CASSANDRA_BROADCAST_ADDRESS=192.168.1.xx -p 7000:7000 cassandra:2
fi

相关问题