Не удалось запустить службу Docker, но она не будет перезапущена - PullRequest
0 голосов
/ 06 июня 2019

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

Итак, мой вопрос: есть ли способ обнаружить проблему с загрузкой или ограничить время запуска службы, отказаться от этого контейнера и повторить попытку, и, если возможно, использовать только 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})
...