Как обновить стек докеров без перезапуска всех служб

У меня есть роевой кластер, в котором развернуты различные технологические докеры. (Zookeeper, Kafka, Elastic, Storm и пользовательское веб-приложение)

Веб-приложение претерпевает огромные изменения и должно обновлять стек каждый раз, когда изменяется веб-докер. Время от времени будут обновляться изображения Elasticsearch.

Когда я запускаю развертывание стека докеров, он запускает и перезапускает все существующие службы докеров, которые даже не изменились. Это затрудняет работу всего стека и приводит к простою всего приложения. Стек Docker не имеет возможности обновления.

У кого-то есть решение для этого?


person Sunil Agarwal    schedule 18.05.2017    source источник


Ответы (2)


docker service update --image делает свое дело.

Проверьте docker service update документы.

person herm    schedule 18.05.2017
comment
служба докеров обновит отдельный образ. Каждый раз мне нужно указать, какое изображение нужно обновить. Это будет действительно болезненная задача. - person Sunil Agarwal; 18.05.2017
comment
Я ищу решение, в котором стек докеров просто обновляет измененные изображения, а не весь стек. - person Sunil Agarwal; 18.05.2017
comment
Когда я развертываю стек докеров, неизмененные контейнеры не меняются. Может быть, вы загрузили более новые версии образов на свой компьютер? Но единственный известный мне способ, который позволяет вам быть на 100% уверенным, что затронута только одна служба, - это обновление службы докеров... - person herm; 19.05.2017
comment
Это работает для меня. docker service update --image demo.net/library/cf demo_web - person Leo Lee; 07.05.2019

Повторное развертывание стека с измененной конфигурацией (файл docker-compose.yml) решает проблему, см. https://docs.docker.com/engine/reference/commandline/stack_deploy/#extended-description. Там они заявили: «Создайте и обновите стек из файла compose или dab в рое».» Также я не вижу какой-либо команды, такой как «обновление стека докеров». Так что это может решить проблему.

person Amit Dighe    schedule 16.08.2018
comment
Вопрос был: [...] обновить стек докеров без перезапуска всех служб - person Sebi2020; 27.03.2021