gpt4 book ai didi

docker - 使用 Docker 环境变量作为凭据

转载 作者:行者123 更新时间:2023-12-01 12:28:59 24 4
gpt4 key购买 nike

最近我们正在尝试找到一种通过环境变量将凭据注入(inject)我们在容器中运行的基于 spring 的应用程序的正确方法。

具体过程包括

  • 引导 shell 脚本,docker CMD 作为入口点运行
  • 在脚本中导出一堆凭据
  • 在脚本文件末尾运行应用程序

通过这种方式,docker inspectdocker exec [container_id] env 或 bash 进入 docker 容器并运行 env 都不会看到这些环境变量,即。我们用引导脚本注入(inject)的内容是不透明的。

那么问题来了:这个解决方案还有什么我们应该考虑的吗?任何明显的故障?

我们对 docker 世界还很陌生,所以这种行为,关于使 shell 脚本注入(inject)的环境变量在之后不可见,是否有任何文档解释原因?我们还没有找到一个好的文档,但只是发现它以这种方式工作

附言。 docker 将来会改变这种行为吗?

提前致谢!

最佳答案

总体而言,这看起来是一个非常好的方法。

但是,我认为您无法对有权检查进程环境的人完全隐藏环境变量。在我看来,如果您找到应用程序进程的进程 ID(在容器内或从主机中),您应该能够在 /proc 中找到它的环境。不会显示为 docker env,但它仍然在某处。此外,无论如何,任何此类人都可能直接连接到您的 Vault。

意思是,是的,这确实不会使子进程的环境出现在容器环境中,但它并没有真正对任何人(已经可以访问您的主机和控制 docker 的人)隐藏它。

不过,恭喜这个设置。比将凭据内置到图像中要好得多。

关于docker - 使用 Docker 环境变量作为凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36464314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com