Для чего на самом деле используется ПРОВЕРКА работоспособности при запуске Docker в режиме swarm?

Мне трудно понять, что HEALTHCHECK действительно используется при запуске Docker в режиме swarm.

Одно место предполагает этот Докер будет перезапуск задача, которая считается вредной для здоровья. Другое место объясняет, что Docker будет прекратить отправку трафика к задачам, которые вредны для здоровья. Документация Docker само по себе только объясняет, что HEALTHCHECK директива есть, и как ее настроить. В нем не делается никаких попыток объяснить, что происходит, когда задача выходит из строя.

Другими словами, я изо всех сил пытаюсь найти четкое и заслуживающее доверия объяснение того, что HEALTCHECK действительно имеет.

Кроме того, глядя на Docker REST API, эта конкретная часть данных (является ли задача работоспособной или нет) даже не доступна для задач (хотя она доступна для контейнеров). Это затрудняет использование этой метрики для мониторинга роя докеров, поэтому мне также не кажется, что это основная цель метрики.

Что на самом деле происходит, когда задача становится неработоспособной при запуске Docker в режиме swarm?

Вы настраиваете проверки работоспособности теми же способами, которые предлагает ваша первая ссылка. Все эти способы укажут docker, какую команду запускать, как часто ее запускать и т.д.

Если вы используете docker run чтобы запустить контейнер, пользовательский интерфейс будет отображаться неработоспособным при сбое проверки работоспособности, но docker ничего не сделает с контейнером. Действовать в соответствии с этим должны вы или какое-либо решение для мониторинга более высокого уровня.

Если вы используете docker service create (или docker stack deploy), чтобы создать службу Swarm, и эта проверка работоспособности завершится неудачей, она остановит / завершит задачу (контейнер) и перенесет новую задачу на замену этой реплики службы. Во время остановки / уничтожения (он пытается изящно остановить его, но завершает работу через 10 секунд, как и все контейнеры docker), Swarm прекратит наложение входящего трафика на эту задачу, как и для всех задач остановки.