Проверка работоспособности контейнера в Docker Swarm работает следующим образом: в Dockerfile указывается команда, которая периодически запускается внутри контейнера для определения его состояния. 3 Команда должна завершаться с кодом 0, если контейнер здоров, и 1, если всё плохо. 2
По умолчанию проверка запускается каждые 30 секунд. 3 Если при повторных проверках результат будет неудачным, рой Docker остановит контейнер и запустит новый. 35
Для настройки проверки можно указать, как часто запускать её (параметр --interval), как долго ей можно длиться (параметр --timeout), и сколько раз (параметр —retries) команда должна вернуть 1, прежде чем на контейнере поставят отметку «unhealthy». 2
Например, можно проверять, отзывается ли веб-сервер внутри контейнера на входящие запросы, вменяемое ли количество памяти он использует, встречаются ли в логах определённые фразы. 2