【问题标题】:docker-compose environment will cover variables in jar, how are docker environment variable and variable in jar mapped?docker-compose环境会覆盖jar中的变量,docker环境变量和jar中的变量是如何映射的?
【发布时间】:2017-12-24 00:53:23
【问题描述】:

例如,在 docker-compose.yml 中设置environment: EUREKA_PORT=8762

并且jar中的变量${eureka.port=8761}不会生效。


为什么environment: EUREKA_PORT=8762 会覆盖${eureka.port=8761}

docker环境变量jar中的变量是如何映射的?

【问题讨论】:

  • 我不确定你是如何在你的java代码中转储{$eureka.port}的值来说明它是8761的值。 {$eureka.port} 对我来说看起来像壳`。无论如何,我不认为EUREKA_PORTeureka.port 相同。我可能是错的。

标签: docker spring-boot docker-compose


【解决方案1】:

您的思维方式完全正确-EUREKA_PORT=8762 将通过环境设置eureka.port。它是这样工作的:

如果您使用环境变量而不是系统属性,大多数操作系统不允许 句点分隔 键名,但您可以使用 下划线 代替(例如 SPRING_CONFIG_NAME 而不是spring.config.name)。

直接取自spring documentation

【讨论】:

    猜你喜欢
    • 2021-11-08
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 2018-02-03
    • 2019-02-25
    • 2022-06-11
    相关资源
    最近更新 更多