首页 理论教育 DockerCompose中使用secrets实战

DockerCompose中使用secrets实战

时间:2023-11-06 理论教育 版权反馈
【摘要】:真正的目标是在所有支持的功能中都有相同的特性,Docker在Compose YAML格式3.1版中引入了secrets。代理服务有两个secrets。最后,有一个单独的secrets部分,将secrets定义为外部实体。另一种办法是在内部指定secrets。在其他情况下,secrets可能用于非机密信息,使用指定为文件的内部secrets可能是一个更好的选择。最后,可以确认代理被配置为使用secrets进行身份验证:它起作用了!

DockerCompose中使用secrets实战

真正的目标是在所有支持的功能中都有相同的特性,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的一个额外步骤,就使系统更加安全。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈