Как загрузить файл secret.properties в образе apacheignite / docker - PullRequest
0 голосов
/ 06 мая 2019

Я использовал webconsole gridgain для создания файла конфигурации для моего узла зажигания (ignite-config.xml).Я хотел бы посмотреть, смогу ли я запустить это в образе воспламенения докера apache (apacheignite / ignite).Я создал том в своем файле compose, который отображается в папку config, в которой находится мой ignite-config.xml.

Мне нужно включить secret.properties (в котором есть мой jdbc url / username / password)а также файл, поэтому я помещаю его в папку config.

Когда я создаю docker-композицию, я получаю java.io.FileNotFoundException: class path resource [config/secret.properties] cannot be opened because it does not exist]

Это часть конфигурации xml, которая имеет дело сместоположение secret.properties:

   <!-- Load external properties file. -->
    <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:secret.properties"/>
    </bean>

Что мне нужно изменить, чтобы загружался файл secret.properties в папке config?Есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 02 июля 2019

Я не знаю, как легко развернуть файл secret.properties, не пройдя полную сборку и развертывание, но чтобы обойти это в целях тестирования, вы могли бы избавиться от secret.properties и использовать вместо этого переменные среды.

Что может выглядеть примерно так для соединения JDBC с Postgres:

<!-- Data source beans will be initialized from external properties file. -->
<bean id="dsPostgreSQL_Daifcqkp30zkdj" class="org.postgresql.ds.PGPoolingDataSource">
    <property name="url" value="#{systemEnvironment['dsPostgreSQL_Daifcqkp30zkdj_jdbc_url']}"/>
    <property name="user" value="#{systemEnvironment['dsPostgreSQL_Daifcqkp30zkdj_jdbc_username']}"/>
    <property name="password" value="#{systemEnvironment['dsPostgreSQL_Daifcqkp30zkdj_jdbc_password']}"/>
</bean>

Затем просто установите переменные окружения:

IGNITE_VERSION=2.7.5
CONFIG_URI=https://raw.github.com/some/path/to/your/config.xml
OPTION_LIBS=ignite-zookeeper,ignite-rest-http
EXTERNAL_LIBS=https://github.com/some/path/to/your/jdbc-drivers/postgresql-42.2.6.jar?raw=true
dsPostgreSQL_Daifcqkp30zkdj_jdbc_username=0a9suf09asdfkjwel
dsPostgreSQL_Daifcqkp30zkdj_jdbc_password=8faskdfn94noiasnf09_s09fklajfealk
dsPostgreSQL_Daifcqkp30zkdj_jdbc_url=jdbc:postgresql://<host>:<port>/Daifcqkp30zkdj?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
...