如何在不重新启动所有服务的情况下更新docker堆栈

时间:2017-05-18 15:30:26

标签: docker docker-swarm docker-stack

我有一个群集群,其中部署了不同的技术码头工人。 (Zookeeper,Kafka,Elastic,Storm和自定义Web应用程序)

Web应用程序发生了巨大的变化,每次web docker更改时都必须更新堆栈。偶尔会有Elasticsearch图像的更新。

当我运行docker stack deploy时,它会重新启动所有甚至没有更改的现有docker服务。这妨碍了整个堆栈,整个应用程序都有停机时间。 Docker堆栈没有更新选项。

有人有解决方案吗?

2 个答案:

答案 0 :(得分:4)

docker service update --image可以解决问题。

检查docker service update docs

答案 1 :(得分:2)

通过更改配置(docker-compose.yml文件)重新部署堆栈可以解决问题,请参见https://docs.docker.com/engine/reference/commandline/stack_deploy/#extended-description。 他们在那里说“ 从群集上的compose或dab文件创建和更新堆栈。”另外,我也看不到任何命令,例如'docker stack update '。这样可以解决问题。