Docker环境变量安全性

Jak*_*lat 6 security environment-variables docker

我有一个docker应用程序,我需要传递一条安全的信息,因为它使用密码来加密/解密存储的数据.我试图弄清楚使用环境变量传递这些信息是多么安全.我知道,如果我使用

docker run -e passphrase="secretkey123" --name containername imagename
Run Code Online (Sandbox Code Playgroud)

然后可以通过以下方式找到该值:

docker inspect containername
Run Code Online (Sandbox Code Playgroud)

因此它必须存储在磁盘上的某个地方(我假设在/ var/lib/docker中).有没有更安全的方法将环境变量传递给docker?我应该在链接到主机文件系统的卷中使用临时文件吗?有没有更好的办法?

Ala*_*ent 3

无论它存储在哪里,都可以通过“docker检查”清楚地访问它。我认为这归结为您希望它的安全程度。例如,您可以使用具有文件权限的共享卷来限制对磁盘上密码文件的访问。或者您可以使用 socker/ssh/etc 来避免将密码放入磁盘上的文件中。这仅取决于您真正想要的安全程度。

我确实注意到,如果你说一个在容器中运行的 Web 服务器,我假设如果有人突破了 Web 服务器,他们只能访问容器可以访问的内容(而不是运行 docker 的主机操作系统)。