-2

在过去的几个月里,我通过将 docker 容器放在 ENV 变量中来管理它们的密码。

例子:

web:
  environment:
    - PASSWORD=123456

然后我碰到了 Docker Secrets。所以我的问题是:

  1. 我应该使用它们的原因是什么?
  2. 他们更安全吗?如何?
  3. 你能提供一个简单的例子来展示它们的功能吗?
4

3 回答 3

1

这取决于用例。

如果您在自己的机器上运行一个应用程序进行开发,只访问一个密钥,则不需要 docker 密钥。

如果您在生产中运行数十台机器,并且有十几个集群服务都需要彼此保密,那么您确实需要保密管理。

除了安全问题之外,使用标准化的方式来访问、创建和删除您的秘密也更加容易。

于 2017-02-14T21:31:32.217 回答
0

一个基本的docker inspect(除其他外)将显示您的所有环境变量,所以这根本不安全。

你也可以看看

关键人物

square.github.io/keywhiz

或保险库

hashcorp.com/blog/vault.html

于 2017-02-14T10:40:39.770 回答
0

来自: https ://github.com/moby/moby/issues/13490

  • 环境变量。不鼓励使用环境变量,因为它们是:
    • 容器中的任何进程都可以访问,因此很容易“泄漏”
    • 保存在图像的中间层,在 docker inspect 中可见
    • 与链接到容器的任何容器共享
于 2017-11-03T04:42:40.800 回答