Как бы я установил "spring.datasource.password", используя секрет докера? - PullRequest
0 голосов
/ 03 октября 2018

В настоящее время у меня есть следующее в файле datasource.properties для локального подключения к источнику данных ...

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

Это отлично работает для локального, но сейчас я пытаюсь создать образ докера.Для хранения данных я бы предпочел использовать секрет, а не переменную окружения (или, может быть, даже секрет, а затем env var, где он не найден).У меня есть секрет, настроенный в настоящее время в моем локальном образе докера, но я не могу понять, как установить spring.datasource.password, используя код вместо свойств.

Как бы я установил "spring.datasource.пароль "используя секрет докера?

1 Ответ

0 голосов
/ 06 апреля 2019

С помощью настраиваемой реализации интерфейса EnvironmentPostProcessor "spring.datasource.password" может быть установлен следующим образом в application.yml

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

Секреты докераСвязка внутри контейнера представлена ​​в виде файлов в папке / run / secrets.Реализация EnvironmentPostProcessor загружает эти файлы в качестве свойств среды.

Идея также была представлена ​​в Ссылка на загрузку Spring - Encrypted Properties

...