如何非互动地调用“docker swarm unlock”?
我怎样才能从脚本中非交互地调用“docker swarm unlock”?
正常情况下,当你运行解锁命令,你会得到如下的交互式提示:
node $ docker swarm unlock Please enter unlock key:
我试过运行以下内容:
node $ echo "SWMKEY-1-g8Kpx6C7xIIaabdcefghMLB5YYaf5OSLL4sA1234567" | docker swarm unlock
这不能解锁我的群,但命令永远不会返回。 它只是挂在那里。
从文档看来,没有任何额外的标志可以传递给解锁命令。
我做了更多的调查和testing。 我没有正确理解我所看到的问题。
您可以使用类似以下的命令非交互式地解锁Docker群集节点:
node $ echo "SWMKEY-1-g8Kpx6C7xIIaabdcefghMLB5YYaf5OSLL4sA1234567" | docker swarm unlock
SWMKEY-1-g8Kpx6C7xIIaabdcefghMLB5YYaf5OSLL4sA1234567是解锁密钥。
但是,您需要在群集中所有已locking的节点上运行此操作。 我错误地认为你只需要在集群中的一个节点上运行解锁命令,并解锁所有的节点。
我的情况如下:
我有一个由节点1,节点2和节点2以群模式运行的3节点群集。 我重新启动了所有3个虚拟机。 然后,我只在node-1上运行了非交互式解锁命令,并且命令没有返回。 相反,我需要在所有节点上运行unlock命令。
另外我要指出的是,“docker swarm unlock”的行为是一样的,不pipe你是否交互使用它。 当我以前testing过交互式“docker群解锁”时,我一直在使用单节点群集。