问题描述
在使用docker swarm时,有一个疑问是在调用docker stack deploy
后立即注销是否安全。他的使用场景是这样的:
1. 在CI作业中,他通过SSH登录到swarm集群节点。
2. 他复制了新的stack.yml
文件,并执行了docker stack deploy -c stack.yml stack
命令。
3. 由于该命令会立即返回,他的CI作业会断开SSH连接。
他想知道这样做是否会导致一些意想不到的副作用?他的部署是否会在中途被终止?或者docker swarm是否会自动继续执行?
解决方案
请注意以下操作注意版本差异及修改前做好备份。
解决方案1
在调用docker stack deploy
后立即注销是安全的。一旦docker返回,就可以安全地注销或离开shell。
用户提到的问题可能是由于Docker 18.06.0-ce版本中docker stack deploy
命令的问题导致的。可以尝试回滚到18.03.1版本(具体为18.03.1~ce-0~ubuntu
),这个版本可以正常工作。
解决方案2
请注意以下操作注意版本差异及修改前做好备份。
如果你仍然遇到问题,可以尝试添加一个自定义的CI步骤来检查堆栈部署情况,基于执行docker stack stack services
命令的结果。
以上是关于调用docker stack deploy
后立即注销是否安全的解决方案。根据用户提供的最佳回答,可以安全地注销或离开shell。
请注意,如果你遇到问题,可以尝试回滚到较旧的Docker版本或添加自定义的CI步骤来检查堆栈部署情况。
正文完