对我来说再次执行 docker stack deploy 是更新服务的方法。正如 弗朗索瓦的回答,以及我自己的经验,这样做只会更新需要更新的服务。 但有时,在测试东西时只重启一个服务似乎更容易。就我而言,我必须清除卷并更新服务才能像新鲜一样启动它。我不确定我将描述的方法是否有缺点。我在我的开发堆栈上对其进行了测试,它对我来说非常有用。 获取您要拆除的服务 ID,然后使用 docker service update --force <id> 强制更新有效地重新部署它的服务 $ docker stack services <stack_name> ID NAME ... 3xrdy2c7pfm3 stack-name_api ... $ docker service update --force 3xrdy2c7pfm3 --force 标志将强制服务更新导致它重新启动。 原文由 Matt 发布,翻译遵循 CC BY-SA 3.0 许可协议
缩放到 0 并备份: docker service scale myservice=0 docker service scale myservice=10 原文由 Luke W 发布,翻译遵循 CC BY-SA 3.0 许可协议
对我来说再次执行
docker stack deploy
是更新服务的方法。正如 弗朗索瓦的回答,以及我自己的经验,这样做只会更新需要更新的服务。但有时,在测试东西时只重启一个服务似乎更容易。就我而言,我必须清除卷并更新服务才能像新鲜一样启动它。我不确定我将描述的方法是否有缺点。我在我的开发堆栈上对其进行了测试,它对我来说非常有用。
获取您要拆除的服务 ID,然后使用
docker service update --force <id>
强制更新有效地重新部署它的服务--force
标志将强制服务更新导致它重新启动。