【发布时间】:2019-09-18 23:49:49
【问题描述】:
我正在尝试从我的 application.properties 中读取环境变量
domains.integrationService=${INTEGRATION_SERVICE_DOMAIN:http://localhost:1337}.
env 属性设置在我的 docker 容器中(已检查),但不知何故 spring 无法从 .properties 读取它。因此,它最终设置了http://localhost:1337。
这在使用 2.0.0 版本的 SpringBoot 的其他项目中运行良好。
我认为他们放弃了这个功能。我不想在项目的.properties 中硬编码这些值。
我在 docker 中的 .env。
INTEGRATION_SERVICE_DOMAIN=https://dummy.com
我的 Docker 运行命令
docker run -d -p 1100:1100 --restart unless-stopped --env-file ~/.env --network=\"host\" -v /var/log/dummy-project:/usr/src/app/logs -v /tmp:/usr/src/app/tmp --name dummy-project
如果有任何解决方案,请告诉我。
【问题讨论】:
-
我怀疑 Spring 在物业管理等基础领域打破了向后兼容性。请提供更多详细信息,您如何在 docker 中设置道具、如何在应用程序中访问它们以及您想要实现的总体目标。
-
添加说明。这不是码头化问题。当我在没有 docker 的情况下从本地运行应用程序时,属性不会读取 env 变量。
标签: java spring spring-boot docker environment-variables