spring-boot - 如何在spring boot(2.4.2)生成的docker镜像中覆盖application.yml中的配置?
问题描述
- 我用的是弹簧靴 2.4.2
- 使用命令mvn spring-boot:build-image -Dspring-boot.build-image.imageName=XXXXXX.azurecr.io/fake-XXXXX:0215 生成 docker 镜像
- 我在 application.yml 中有需要覆盖的主机名
- 所以我在 docker-compose 中通过了 -Dspring.data.mongodb.host=mongo_db命令:但它并没有覆盖。.. 下面的截图供参考。
- 我了解 Buildpacks 用于构建分层 jar。
- 如果这是我手动创建的 docker 映像,而不是 Spring Boot,那么我将在 Dockerfile 中使用 ENTRYPOINT,在 docker-compose 中使用命令:Dspring.data.mongodb.host=mongo_db -jar fake-XXXX.jar
- 我知道#6 有效,但想在我的新项目中使用最新最好的弹簧靴。因此,请让我知道您的想法。
解决方案
为什么不通过 Spring Config 或 Harshi Corp Consul KV 功能尝试该方法并从那里读取您的配置。将您的配置签入到存储库并让配置框架从那里读取它并将其传递给您的应用程序?您可以在运行时更改配置(在某些情况下可能需要重新启动容器以重新加载修改后的 KV 字段)
推荐阅读
- c# - Unity Android IL2CPP 无法正常运行 Building 64bit aab Error
- python - Selenium Webdriver 无法单击。不确定为什么
- javascript - 在节点服务器中发布请求后更改浏览器 url
- python - Raspberry - Linux - Python - 使用 os.popen 获取 CPU 使用率
- c++ - 与 C++ 中的空字符串相比,突变仍然存在?
- asp.net-core - redirect_uri 中的额外斜线
- django - 如何从 django 令牌在 Angular 上设置会话存储?
- javascript - 如何在highChartjs的折线图中显示Y轴上标签中的最后一个数据点值
- scala - 无法为 azure blob 生成正确的 SAS 令牌
- javascript - 我无法从表单提交中调用我的 php 代码,这是为什么呢?