将application.properties外部化为docker env

时间:2017-06-15 08:49:04

标签: java docker spring-boot ldap openldap

我使用spring-boot和Docker开发应用程序。出于安全原因,我不想再使用application.properties并仅使用environnement变量。

如果您有最佳实践,我将不胜感激。

这是我的docker-compose.yml

的snipet
version: "2.1"
services:
app_users:
    image: images/app_users
    container_name: app_user_ctn
    build:
      context: ../..
      dockerfile: docker/dev/Dockerfile
    ports:
      - "30333:8080"
    external_links:
      - mysql
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://mysql/myDB?autoReconnect=true
      SPRING_DATASOURCE_USERNAME: mysqluser1
      SPRING_DATASOURCE_PASSWORD: mysqlpwsword
      SPRING_DATASOURCE_DRIVER_CLASS_NAME: com.mysql.jdbc.Driver
      LDAP_PASSWORD: ldapPswd
      LDAP_URLS: ldap://myServer:389
      LDAP_USERNAME: cn=admin,dc=com,dc=expl

当我向ldap发出请求时,我得到NulPointerException,因为ldap环境变量没有初始化。
当我使用application.yml时,它可以工作。

...
spring:
  ldap:
      password: ldapPswd
      urls: ldap://myServer:389
      username: cn=admin,dc=com,dc=expl
 ....

你有什么想法吗?

祝你好运

0 个答案:

没有答案