最近,我们试图找到一种通过环境变量将凭据注入到我们在容器中运行的基于Spring的应用程序的正确方法。
确切的过程包括
有了这样一来,没有的docker inspect
,docker exec [container_id] env
或bash到码头工人的容器和运行env
将看到这些环境变量,即。我们使用引导脚本注入的内容是不透明的。
那么问题来了:在此解决方案中,我们还有什么需要考虑的吗?有明显的故障吗?
对于docker world来说,我们还很陌生,因此有关使shell脚本注入的环境变量不可见的行为,因为此后是否有任何文档解释原因?我们还没有找到好的文档,只是发现它以这种方式工作
PS。码头工人将来会改变这种行为吗?
提前致谢!
总体看来,这是一个非常好的方法。
但是,我认为您无法向有权检查流程环境的人员隐藏环境变量。在我看来,如果您找到应用程序进程的进程ID(在容器内部或从主机),则应该可以在中找到其环境/proc
。不会显示为docker env
,但仍在某处。另外,任何这样的人都可能仍然可以直接连接到您的保险柜。
意思是,是的,这确实不会使子进程的环境出现在容器环境中,但实际上并不会对任何人(已经可以访问您的主机并控制docker的人)隐藏它。
仍然祝贺您的设置。比将凭据内置到图像中要好得多。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句