Docker Swarm unlock key丢失求助:AWS环境下重启节点后无法解锁集群
如何找回丢失的Docker Swarm Unlock Key?
哎,这个问题我之前帮好几个同行解决过,别慌,咱们分两种情况来处理:
情况一:集群里还有正常运行的Manager节点
这是最幸运的情况,直接在正常的Manager节点上就能拿到解锁密钥:
- 登录到任意一个还在运行的Swarm Manager节点
- 执行命令:
docker swarm unlock-key,终端会直接输出当前的unlock key,赶紧把它存到安全的地方(比如密码管理器) - 如果想换一个新的解锁密钥,也可以用
docker swarm unlock-key --rotate,生成新key后一定要立刻保存
情况二:所有Manager节点都重启且无法解锁
如果所有Manager都挂了且没有可用的解锁密钥,那遗憾的是没法直接恢复原集群了,只能重建:
- 先在其中一个节点上强制退出Swarm:
docker swarm leave --force - 重新初始化Swarm集群:
docker swarm init,这时候会生成新的unlock key,务必第一时间保存好 - 最后把其他节点重新加入到新集群中,重新部署你的服务、配置网络等
给你的后续建议
- 以后初始化Swarm或者旋转解锁密钥后,一定要立刻把key存到安全且易获取的地方,比如加密的配置文件、专业密码管理工具,别再犯丢key的错啦
- Swarm Manager节点建议至少部署3个,这样单个节点重启不会影响集群可用性,也能避免所有Manager同时挂掉的极端情况
内容的提问来源于stack exchange,提问作者Hamzawix
相关产品推荐
相关产品推荐

