使用compose文件在群集模式下使用Docker堆栈“--force-recreate”

时间:2017-05-22 10:02:57

标签: docker docker-compose

是否可以在docker swarm模式下使用compose文件强制重新创建容器? (我知道在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个命令

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

2 个答案:

答案 0 :(得分:3)

对于在该堆栈内创建的任何未更改的服务,您可以使用:

PropertyServiceTest2

将强制滚动更新该服务。

要从堆栈重新创建所有内容,请在以下位置输入您的堆栈名称docker service update --force $service

$stack

答案 1 :(得分:0)

我们可以强制在群组模式下重新创建在撰写文件中定义的特定服务 -

  1. 获取服务名称 -

    $ docker service ls

  2. 强制更新/重新创建 -

    $ docker service update --force MY-APP_nginx

    " nginx"是撰写文件&中定义的服务名称。 MY-APP是堆栈的名称。