最新在学习秒杀项目的时候,学到了springboot项目在加载的时候能够根据不同情况加载外挂的application.properties,这样就不用每次改动就重新打包。具体命令行就是
java -jar emall.jar --spring.config.additional-location=配置文件位置
关于 --spring.config.additional-location和 --spring.config-location的区别可以自行百度。
但是在利用docker制作容器后,发现外挂配置不生效,百度了一天综合各种文章找到了解决方案
主要的坑就是上述的配置文件不能写linux系统中的文件位置,应该指的是springboot项目所在容器中的路径
但是容器中原本并没有配置文件,所以我们写dockerfile的时候,除了ADD 你的项目jar包,还应该把外挂的properties给COPY进来
也就是在dockerfile合适的地方加上
COPY application.properties /etc/
后面的路径可以随便写一个存在的,然后在ENTRYPOINT中加上相关的配置语句
ENTRYPOINT ["java","-jar","emall.jar","--spring.config.additional-location=/etc/application.properties"]
重新生成image,利用image构建容器,发现外挂配置加载正常
版权声明:本文为qq_43817045原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。