springboot 应用使用docker部署启动命令多了一个空格导致外部配置文件和jar中的配置文件内容相互污染

启动命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=Asia/Shanghai","-jar","/app.jar" ," --spring.config.location=/application.yml"]
--spring.config.location 前多了一个空格
docker 启动配置映射目录 -v /app/config/application.yml:/application.yml
docker 中的springboot 应用启动时,会先加载jar中application.yml中配置, 然后在加载/app/config/application.yml中配置,

/app/config/application.yml 中的配置会覆盖掉jar中application.yml中配置
/app/config/application.yml中没有的配置会使用jar中application.yml中配置

导致配置数据污染,配置混乱

清除掉--spring.config.location 前多余的空格就会优先加载 /app/config/application.yml 不在加载jar中application.yml


posted on 2026-01-08 11:08  知了不了了之  阅读(2)  评论(0)    收藏  举报