Docker 1.12.1
Spring-Boot 1.3.2
我正在“dockerizing”我的 spring-boot 应用程序,该应用程序在 .yml 文件中包含敏感数据。我不想以纯文本形式存储此内容。但是,当应用程序在 Docker 中启动时,它需要能够访问这些值的解密(纯文本)版本,以便这些值可以与应用程序中的 @Value
一起使用。
我找到了这个link来自 spring cloud,但目前还不清楚我将如何以本地方式进行加密/解密,更不用说引入 docker 时它将如何工作了。
我的问题是这样的
- 我该如何加密敏感文本,使其在 Docker 中运行时能够被解密。
- 我该如何解密文本,以便当应用程序在 docker 中启动时使用解密的值,或者甚至在本地启动应用程序时使用解密的值?
最佳答案
- jasypt-spring-boot-starter 加密您的内容
- 对于加密 key ,请使用 @secret.key@ 等 Maven 属性
- 当您从命令行构建 spring 时,使用 -Dsecret.key=xxx 传递 Secret.key,然后构建 docker 镜像
- 确保必要的人员可以访问您的容器以查看 Secret.key。保护您的 key 。
关于java - 在 Docker 中解密 Spring 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40315242/