真正的目标是在所有支持的功能中都有相同的特性,Docker在Compose YAML格式3.1版中引入了secrets。
将继续使用Docker Flow Proxy来演示secrets在Compose文件中是如何工作的:
从vfarcic/docker-flow-stacks代码库(https://github.com/vfarcic/docker-flow-stacks)中下载了docker-flow-proxy-secrets.yml栈(https://github.com/vfarcic/ docker-flow-stacks/blob/master/proxy/docker-flow-proxy-secrets.yml)。
栈定义的相关部分如下:
该格式的版本为3.1。代理服务有两个secrets。最后,有一个单独的secrets部分,将secrets定义为外部实体。另一种办法是在内部指定secrets。
一个例子如下:
我更喜欢在外部指定secrets的第一个选项,因为这不会留下任何线索。在其他情况下,secrets可能用于非机密信息(将很快讨论),使用指定为文件的内部secrets可能是一个更好的选择。(www.xing528.com)
让我们运行该栈并检查它是否工作正常:
如果没有数据,那么统计本身是无用的,因此我们将在代理中部署另一个服务,它会被重新配置,并开始生成一些统计数据:
请稍候,直到服务从go-demo栈开始运行。你可以通过执行docker stackps go-demo来检查它们的状态。你可能会看到go-demo_main副本处于失败状态。不要惊慌。它们只会继续失败,直到go-demo_db开始运行为止。
最后,可以确认代理被配置为使用secrets进行身份验证:
它起作用了!仅使用docker service create的一个额外步骤,就使系统更加安全。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。