Это потому, что PID 1 не похож на systemd
и не обрабатывает SIGTERM / SIGINT, как вы ожидаете. При нормальных обстоятельствах процесс выполняется при PID> 1, а PID 1 обрабатывает системные сигналы. Контейнер имеет не systemd, работающий с PID 1, а точку входа. Теперь, когда что-то еще вступило во владение (точка входа) и является PID 1, они несут ответственность за обработку системных сигналов. Это должно быть запрограммировано, чтобы сделать это явно.
У вас есть предупреждение об этом в документах .
Решением для этого является использование что-то вроде tini , которое функционирует как действительный процесс PID 1. В частности, обрабатывает SIGINT / SIGTERM в вашем случае и не потребует 10 секунд для SIGKILL.