У меня есть точка входа script в контейнере докера, которая выглядит примерно так:
#!/bin/bash
echo starting up
function shut_down() {
echo shutting down
pid=$(ps -e | grep myapp | awk '{print $1}')
kill -SIGTERM $pid
exit
}
trap "shut_down" SIGKILL SIGTERM SIGHUP SIGINT EXIT
/opt/myapp
Я не могу понять, как захватить сигнал, отправленный при запуске docker stop
в контейнере. При запуске в интерактивном режиме a ctrl+c
будет запускать его, как ожидалось, но команда docker stop
просто ждет 10-секундного тайм-аута и выходит, никогда не войдя в функцию shut_down
Как я могу захватить сигнал, отправленный docker stop
в bash, чтобы выполнить некоторую очистку?