【问题标题】:How would I set "spring.datasource.password" using a docker secret?如何使用 docker 密码设置“spring.datasource.password”?
【发布时间】:2019-03-08 21:07:34
【问题描述】:

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

//datasource.properties
spring.datasource.password=${DB_PASSWORD}

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

如何使用 docker secret 设置“spring.datasource.password”?

【问题讨论】:

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


    【解决方案1】:

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

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

    容器内的 docker secrets 绑定显示为 /run/secrets 文件夹下的文件。 EnvironmentPostProcessor 实现将这些文件加载​​为环境属性。

    这个想法在Spring boot reference - Encrypted Properties也有介绍

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-04
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 2021-10-01
      • 1970-01-01
      • 2023-01-18
      相关资源
      最近更新 更多