【问题标题】:spring.config.additional-location as environmental variablespring.config.additional-location 作为环境变量
【发布时间】:2019-07-13 08:36:44
【问题描述】:

我有一个用于 spring boot 2 应用程序的 Docker 映像, 在图像中,我使用 spring.config.additional-location 传递存储在容器本身文件中的一些属性。

现在我想在另一个容器中使用这个容器作为另一个容器中的层或在 docker-compose 文件中使用它,我可能需要覆盖 spring.config.additional-location。

我试图在 ENV 变量中覆盖它: SPRING_CONFIG_ADDITIONAL-LOCATION 没有成功。

实现这一目标的正确方法是什么。

【问题讨论】:

    标签: java spring spring-boot docker


    【解决方案1】:

    spring.config.additional-location 的值必须是目录路径而不是文件路径。我不确定这是错误还是功能,因为 spring.config.location 两者都允许。

    例如在 docker-compose.yml 中,您可以将 spring.config.additional-location 设置为:

    version: '3'
        services:
          myapp:
            build: .
            environment:      
              - "SPRING_CONFIG_ADDITIONAL-LOCATION=file:/opt/myapp/config/"
              - "SPRING_PROFILES_ACTIVE=production"
    ...
    

    然后 Spring Boot 将查找 /opt/myapp/config/application-production.properties 文件以从中加载属性。

    更多信息请关注Spring Boot Externalized Configuration

    【讨论】:

      猜你喜欢
      • 2019-05-12
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多