docker堆栈“ – 强制重新创build”在群组模式使用撰写文件

是否有可能在docker群模式下使用组合文件强制重新创build容器? (我知道在Dockerfile中使用HEALTHCHECK)

目前我必须先删除堆栈,然后再部署它 –

$ docker stack deploy -c stg-sm-deploy-compose.yml --with-registry-auth MY-APP

$ docker stack rm MY-APP

$ docker stack deploy -c stg-sm-deploy-compose.yml --with-registry-auth MY-APP

有没有可能把上面的3个命令replace成 –

$ docker stack deploy -c stg-sm-deploy-compose.yml --with-registry-auth MY-APP --force-recreate

对于在堆栈内创build的任何服务没有改变的服务,你可以使用:

 docker service update --force $service 

这将迫使该服务的滚动更新。

要重新创build堆栈中的所有内容,请在$stack中input您的堆栈名称:

 docker stack services -q $stack \ | while read service; do docker service update --force $service done 

我们可以强制在群集模式下重新创build组合文件中定义的特定服务 –

  1. 获取服务名称 –

    $ docker service ls

  2. 强制更新/重新创build它 –

    $ docker service update --force MY-APP_nginx

    其中“nginx”是合成文件中定义的服务名称,MY-APP是堆栈的名称。