如何使用Docker机密设置“ spring.datasource.password”?

时间:2018-10-03 15:16:22

标签: spring docker spring-boot spring-data-jpa docker-secrets

当前,我在datasource.properties文件中具有以下内容,以在本地连接到数据源...

ThisWorkbook

这在本地非常有用,但是现在我正在尝试创建一个docker映像。为了存储数据,我宁愿使用一个秘密而不是一个环境变量(或者可能是秘密,然后是未找到的env var)。我目前在本地docker映像中设置了秘密,但是我不知道如何使用代码而不是属性来设置spring.datasource.password。

如何使用Docker机密设置“ spring.datasource.password”?

1 个答案:

答案 0 :(得分:0)

借助于EnvironmentPostProcessor接口的customized implementation,可以在application.yml中如下设置“ spring.datasource.password”

   spring:
     datasource:
       password: ${docker-secret-my-db-passwd}

在容器中绑定的Docker机密以文件形式显示在/ run / secrets文件夹下。 EnvironmentPostProcessor实现将这些文件作为环境属性加载。

这个想法也已在Spring boot reference - Encrypted Properties

中引入