我有一个群集群,其中部署了不同的技术对接。(Zookeeper,Kafka,弹性, Storm 和自定义网络应用程序)Web应用程序会发生巨大的变化,每次Web Docker发生变化时都必须更新堆栈。偶尔会有Elasticsearch图像的更新。当我运行Docker堆栈部署时,它会重新启动所有甚至没有更改的现有Docker服务。这会妨碍整个堆栈,并导致整个应用程序停机。Docker堆栈没有更新选项。有人能解决吗?
lhcgjxsq1#
docker service update --image就可以了。检查docker service update文档。
docker service update --image
docker service update
qyyhg6bp2#
使用更改的配置(docker-compose.yml文件)重新部署堆栈解决了问题,请参见https://docs.docker.com/engine/reference/commandline/stack_deploy/#extended-description。他们在那里指出“从群上的compose或dab文件创建和更新堆栈。”而且我没有看到任何类似“dockerstackupdate”的命令。所以这可以解决问题。
gwbalxhn3#
如果您已经从compose.yml创建了Docker堆栈,并且您只需要从堆栈重新部署一个服务,只需执行以下操作:
compose.yml
docker service rm <your-service>
然后:
docker stack deploy -c compose.yml <stack-name>
您只需更新堆栈,而不是重新创建所有服务。
3条答案
按热度按时间lhcgjxsq1#
docker service update --image
就可以了。检查
docker service update
文档。qyyhg6bp2#
使用更改的配置(docker-compose.yml文件)重新部署堆栈解决了问题,请参见https://docs.docker.com/engine/reference/commandline/stack_deploy/#extended-description。他们在那里指出“从群上的compose或dab文件创建和更新堆栈。”而且我没有看到任何类似“dockerstackupdate”的命令。所以这可以解决问题。
gwbalxhn3#
如果您已经从
compose.yml
创建了Docker堆栈,并且您只需要从堆栈重新部署一个服务,只需执行以下操作:然后:
您只需更新堆栈,而不是重新创建所有服务。