Назад | Перейти на главную страницу

Docker swarm, все контейнеры перезапускаются

Мы запускаем режим Docker Swarm в производстве, имея 4 узла, 3 из которых имеют статус менеджера. Мы заметили, что раз в несколько дней все контейнеры на одном из хостов перезапускаются.

В то время я заглянул в системный журнал и увидел следующие сообщения (повторяющиеся для всех контейнеров, запланированных на этом хосте):

Jan 26 07:26:14 HOST0 dockerd[13104]: time="2019-01-26T07:26:14.954777646Z" level=warning msg="failed to deactivate service binding for container service_container.1.lhc0gejxgb8y340bg9o2wfcm2" error="No such container: service_container.1.lhc0gejxgb8y340bg9o2wfcm2" module=node/agent node.id=2g08blfds9z26ja2ou06pv2zl

Перед этим есть несколько сообщений, связанных с членством в роях, но они также происходят без проблем и в любом случае находятся на уровне level = info.

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

Пока мне нужно понять, что запускает воссоздание сервисов и как этого избежать. Есть ли что-нибудь особенное, с чего я буду искать журналы для начала?

Заранее большое спасибо!

Предлагаю начать с задач перезапущенного сервиса. В нем должна быть указана причина выхода и код выхода процесса PID 1 контейнера.

docker service ps $SERVICE_NAME перечислит последние 5 задач обслуживания (или любой другой установленный предел истории).

Возьмите ID завершенной задачи и используйте docker inspect $TASK_ID чтобы узнать подробности.