У меня есть проблема с использованием режима докеры.высокая доступность с режимом роуминга докеров
Я хочу иметь высокую доступность с режимом рой. Думаю, я могу сделать это с обновлением роя.
Что-то вроде этого ...
docker service update --env-add test=test --update-parallelism 1 --update-delay 10s 6bwm30rfabq4
Однако есть проблема. У моего изображения докеров есть точка входа. Из-за этого есть небольшая задержка до того, как сервис (я имею в виду контейнер докеров) действительно поднялся. Но служба докеров просто думает, что служба уже запущена, потому что статус контейнера - «Вверх». Даже служба по-прежнему работает над точкой входа. Поэтому некоторая ошибка возврата контейнера при попытке подключения службы.
Например, если я создаю службу докеров с именем «test» и масштабируюся до 4 с портом 8080. Я могу получить доступ к тесту: 8080 в веб-браузере. И я пытаюсь выполнить обновление с --update-parallelism 1 --update-delay 10s
. После этого я снова пытаюсь подключить службу. Одна ошибка возврата контейнера. Поскольку служба Docker считает, что контейнер уже запущен, даже контейнер по-прежнему не работает из-за точки входа. А после 10 секунд другая ошибка возврата контейнера .. потому что обновление запущено, а служба докеров также считает, что контейнер уже вставлен.
Итак .. Есть ли какие-либо решения для решения этой проблемы? Должен ли я сделать некоторые настройки nginx для отключения соединения с контейнером ошибок и повторного подключения другого?
Вы пытались увеличить значение '--update-delay' до большего значения? –