Выкатывание обновлений в docker swarm

Создал приложение микросервиса с инициализатором Spring и развернул его с помощью Docker.

Для развертывания последних изменений создайте образ докера с последними изменениями кода.

docker stack deploy -c stack.yml mystack

приложение работает с 2 репликами. Обновление сервисов с помощью Docker Service Update.

docker service update --force service-name

Может ли кто-нибудь помочь мне с образцом стека и рекомендациями по развертыванию для нулевого времени простоя.


person Jinna Balu    schedule 08.06.2018    source источник


Ответы (1)


Вы можете найти хороший текст здесь https://blog.capstonec.com/2018/06/28/zero-downtime-deployment-with-docker-rolling-updates/

Ниже приведен отрывок из справочной документации по Docker, которую можно найти по адресу: https://docs.docker.com/compose/compose-file/#update_config.

  • параллелизм: количество контейнеров для одновременного обновления.
  • задержка: время ожидания между обновлением группы контейнеров.
  • failure_action: Что делать, если обновление не удалось. Один из вариантов продолжения, отката или паузы (по умолчанию: пауза).
  • монитор: продолжительность после каждого обновления задачи для отслеживания сбоя (ns|us|ms|s|m|h) (по умолчанию 0 с).
  • max_failure_ratio: Допустимая частота сбоев во время обновления.
  • order: Порядок операций при обновлении. Один из вариантов остановки в первую очередь (старая задача останавливается перед запуском новой) или запуск в первую очередь (новая задача запускается первой, а запущенные задачи на короткое время перекрываются) (по умолчанию сначала останавливается) Примечание. Поддерживается только для версий 3.4 и выше.
person Ryabchenko Alexander    schedule 04.06.2019