Значение --stop-grace-period
- это период времени, в течение которого Docker будет ждать после отправки сигтерма и перестанет ждать, пока контейнер не выйдет изящно. По истечении льготного периода контейнер убивается сигкилом.
Последовательность событий, кажется, происходит, как разработано на основе вашего описания вашей установки. Ваш контейнер выходит чисто и быстро, когда получает сигтер, поэтому Docker никогда не нужно отправлять сигкилл.
Я вижу, вы также указали --update-delay 60
, но это не вступит в силу, поскольку у вас есть только одна реплика. Задержка обновления скажет докеру подождать 60 секунд после циклического выполнения первой задачи, поэтому это полезно только для 2 или более реплик.
Похоже, что вы хотите, чтобы ваша служба с одной репликой запускала новую задачу и старую задачу одновременно в течение 60 секунд, но режим роя рад избавиться от старых контейнеров с sigterm, как только новый контейнер будет запущен.