在过去的几个月里,我通过将 docker 容器放在 ENV 变量中来管理它们的密码。
例子:
web:
environment:
- PASSWORD=123456
然后我碰到了 Docker Secrets。所以我的问题是:
- 我应该使用它们的原因是什么?
- 他们更安全吗?如何?
- 你能提供一个简单的例子来展示它们的功能吗?
在过去的几个月里,我通过将 docker 容器放在 ENV 变量中来管理它们的密码。
例子:
web:
environment:
- PASSWORD=123456
然后我碰到了 Docker Secrets。所以我的问题是:
这取决于用例。
如果您在自己的机器上运行一个应用程序进行开发,只访问一个密钥,则不需要 docker 密钥。
如果您在生产中运行数十台机器,并且有十几个集群服务都需要彼此保密,那么您确实需要保密管理。
除了安全问题之外,使用标准化的方式来访问、创建和删除您的秘密也更加容易。
一个基本的docker inspect
(除其他外)将显示您的所有环境变量,所以这根本不安全。
你也可以看看
关键人物
square.github.io/keywhiz
或保险库
hashcorp.com/blog/vault.html
来自: https ://github.com/moby/moby/issues/13490