一,简介
在 Docker Swarm 服务中, Secret 是一种 BLOB(二进制大对象) 数据, 就像密码、SSH 私钥、 SSL 证书或那些不应该未加密就直接存储在 Dockerfile 或应用程序代码中的数据。在 Docker 1.13 及更高版本中,可以使用 Docker Secrets 集中管理这些数据,并将其安全地传输给需要访问的容器。 一个给定的 Secret 只能被那些已被授予明确访问权限的服务使用,并且只能在这些服务任务正在运行的情况下。
不想在镜像或代码中管理的任何敏感数据,都可以使用 Secret 来管理,比如:
-
用户名和密码
-
TLS certificates and keys
-
SSH keys
-
其他重要数据:比如数据库名、内部服务器信息
-
通用的字符串或二进制内容 (最大可达 500 Kb)
提醒: Docker Secret 仅对 Swarm 服务有效,对独立的容器是无用的。如需使用,可以启动 1 个副本的服务来使用 Docker Secret。
另一个使用 Secert 的用例是在容器和一组证书之间提供一个抽象层。考虑一种场景:有开发、测试和生产三套环境,同一个应用程序在不同的环境中都可以拥有不同的凭证,并且以相同的 Secret Name 存储在开发、测试和生产集群中。这样容器只需要知道 Secret Name,就可以在不同的环境中正常工作。
当然,你也可以使用 Docker Secret 管理非敏感数据,比如配置文件。但是,敏感数据还是建议使用 Docker Config 来管理。
二,Docker Secret 基本操作
1、创建 Secret
扫描二维码关注公众号,回复:
9344227 查看本文章
用法