代码之家  ›  专栏  ›  技术社区  ›  Jackie

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

  •  1
  • Jackie  · 技术社区  · 6 年前

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

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

    这对本地很有用,但现在我正试图创建一个码头形象。为了存储数据,我宁愿使用secret而不是环境变量(或者甚至可能使用secret,然后使用env var where not found)。我在本地docker映像中设置了这个秘密,但是我不知道如何使用代码而不是属性设置spring.datasource.password。

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

    0 回复  |  直到 5 年前
        1
  •  0
  •   Kwong Hung Yip    5 年前

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

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

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

    这个想法也被引入 Spring boot reference - Encrypted Properties