Контейнер Docker запускается долго с помощью сценариев оболочки - PullRequest
0 голосов
/ 19 ноября 2018

Я новичок в сценариях оболочки, недавно начал с базовых. Я написал код, чтобы проверить, есть ли у меня узлы Кассандры, и он дает мне «да» или «нет», если нет, тогда выполните какую-либо команду. Моя проблема в том, что я уже запустил node1, и я проверяю, существует ли уже узел, затем получаю идентификатор этого контейнера и запускаю этот контейнер. Но когда я запускаю его, он получает идентификатор контейнера и занимает так много времени и никогда не запускается. Если я запускаю контейнер без команд оболочки, он запускается. Но я хочу побаловать их в скорлупе.

Это мой код:

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

Я не понимаю, почему он мигает и не выполняется.

1 Ответ

0 голосов
/ 19 ноября 2018

Я решил сам, используя эту команду ниже

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...