在Docker

时间:2016-10-29 01:43:00

标签: java spring docker spring-boot

Docker 1.12.1

Spring-Boot 1.3.2

我正在“停泊”我的spring-boot应用程序,该应用程序在.yml文件中有敏感数据。我不希望以纯文本格式存储此内容。但是当应用程序在Docker中启动时,它需要能够访问值的解密(纯文本)版本,以便值可以与应用程序中的@Value一起使用。

我从Spring云中找到了这个link但是我不清楚如何以本地方式使加密/解密工作,更不用说在引入docker时它将如何工作。

我的问题是这个

  1. 如何以一种允许在Docker中运行时对其进行解密的方式加密敏感文本。
  2. 我如何解密文本,以便当应用程序在docker中启动时使用解密的值,或者甚至在本地启动应用程序时使用解密的值?

1 个答案:

答案 0 :(得分:0)

  1. jasypt-spring-boot-starter加密您的内容
  2. 对于加密密钥,请使用诸如@ secret.key @
  3. 之类的Maven属性。
  4. 从命令行构建spring时,使用-Dsecret.key = xxx传递secret.key,然后构建docker image
  5. 确保必要的人员可以访问您的容器以查看secret.key。保护您的secret.key。