У меня есть служба, которая не загружается с появлением все большего количества реплик.Проблема в том, что сбойные задачи никогда не пытаются перезапустить, но некоторые последующие реплики могут запускаться без проблем.
Итак, мой вопрос: есть ли способ обнаружить проблему с загрузкой или ограничить время запуска службы, отказаться от этого контейнера и повторить попытку, и, если возможно, использовать только docker-compose.yml?
Подробности:
Я использую Version: 18.09.2 , API version: 1.39
клиента и сервера на хосте Linux.
Отказавшие службы имеют состояние Shutdown
вскоре после запуска команды docker stack scale
появится больше реплик.В то время как выходные данные этой команды продолжают блокироваться неопределенно долго с неисправными службами, показанными как starting
.
Просмотр журнала с использованием journalctl -u docker.service | tail -n 50
, это сообщение выводится каждые несколько секунд и продолжается бесконечно даже после того, как я уменьшил масштаб до3 рабочих реплики.
time="2019-06-06T16:20:17.897937551-04:00" level=warning msg="grpc: Server.Serve failed to complete security handshake from \"10.30.50.117:46806\": remote error: tls: bad certificate" module=grpc
Это службы rabbitmq, которые кластеризуются в скрипте, запускаемом в контейнере после запуска, вот более подробная информация о rabbitmq.
Я использую образ dockerhub rabbitmq:3-management-alpine
, который имеет RabbitMQ 3.7.15
.
Я получаю следующее от docker service logs <service_ID>
:
error:{badmatch,["rabbitmq.config","rabbitmq.2019.06.06.19.43.37.config"]}
Log file(s) (may contain more information):
{"init terminating in do_boot",{badmatch,["rabbitmq.config","rabbitmq.2019.06.06.19.43.37.config"]}}
init terminating in do_boot ({badmatch,rabbitmq.configrabbitmq.2019.06.06.19.43.37.config})