Не делая заголовок слишком длинным, вот сценарий ...
У меня есть два сценария:
Первый сценарий (host_startup.sh
) проверяет, является лисайт работает.Когда он наконец публикует сообщения, он открывает веб-сайт в браузере по умолчанию:
URL=http://localhost:9876
until contents=$(wget -q --spider --no-check-certificate "$URL")
do
sleep 1
done
xdg-open ${URL} &
Второй скрипт (run.sh
) запускает скрипт host_startup
, а затем запускает DockerКонтейнер, который обслуживает веб-страницу по указанному выше адресу:
(../../host_startup.sh) &
docker run --rm -it \
-p 9786:9786 \
company:image
Обратите внимание, что команда docker запускается с флагом --rm
.Однако, когда я запускаю сценарий run.sh
и нажимаю Ctrl + C процесс, образ Docker все еще работает ... В частности, docker ps
показывает контейнер по-прежнему.
Я бы хотел, чтобы Ctrl + C остановил контейнер и очистил его.
Я думал, что контейнер остановится и очистится, потому что я поставил сценарий host_startup.sh
в фоновом режиме, а НЕ команду docker run
...
Пожалуйста, скажите мне, как я могу достичьжелаемое поведение.