Требование находится в большом цикле while, учитывая конкретный идентификатор контейнера докера, мне нужно отслеживать событие остановки докера с помощью команды события docker.Когда я обнаружил событие, мне нужно выйти из чтения события докера.
Упрощенный сценарий bash, который я написал, выглядит следующим образом:
#! /bin/bash
while true
do
## other logics
docker events --filter='container=...' --filter='event=stop' | while read event
do
echo $event
break
done
echo "got here"
## other logics
done
Таким образом, в одном сеансе bash я запускаю этот сценарий, в другом сеансе bash я набираю следующую команду: dockerостановка контейнера cassandra-1
Проблема заключается в том, что когда я выполняю эту программу bash, я могу записать событие остановки и распечатать событие, но эта команда прочитает событие, которое повторяется.Как выйти из докера событий и вывести «попал сюда»?
Я потратил много времени на поиск решения в Интернете, но не могу найти хорошего подхода.Однажды я подумал об использовании break, но это не сработало, и я также подумал, что kill -9 $$, но я закрою всю программу сценария.Но мне нужно только выйти из события docker вместо большого цикла while.
есть полезные советы?Большое спасибо!