由于单个节点足以演示Docker的secrets,所以我们首先将创建一个基于Docker Machine的单节点Swarm集群:
给Windows用户的说明
建议在Git Bash中运行所有的示例(通过Docker工具箱和Git安装)。这样,你在书中看到的命令将与在OSX或任何Linux发行版上应该执行的命令相同。
我们创建了一个名为swarm的Docker Machine节点,并使用它初始化集群。现在可以创建一个secret了。
给Windows用户的说明
为了使下一个命令要使用的mount(一个secret也是一个mount)能够工作,你必须停掉Git Bash来更改文件系统路径,并设置此环境变量。
创建secret的命令的格式如下(请不要运行它):(www.xing528.com)
secret create命令需要一个包含secret的文件。但是,使用未加密的secret创建一个文件,这首先违背了拥有secret的目的。每个人都能读到那个文件。我们可以将文件推送到Docker之后删除它,但这只会带来不必要的步骤。相反,我们将使用——这将允许我们使用从管道连接到标准输出:
刚刚执行的命令创建了一个名为my_secret的secret。使用TLS连接将该信息发送到远程Docker Engine。如果有一个拥有多个manager的更大的集群,那么这个secret就会复制给所有人。
现在可以检查新创建的secret:
输出如下:
secret的价值在于它是隐藏的。即使恶意用户能够访问Docker Engine,这个secret仍然是不可用的。说实话,这种情况比保护Docker secret更让人担忧,但我们将留到其他时间再讨论。
既然已经加密了secret并存储在Swarm manager中,就应该探索如何在服务中使用它。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。