docker容器动态加载JVM虚拟机配置参数
前言,现在很多项目都是容器化部署,打包好的镜像直接运行就好。但是,我们存在着,dev、fat、uat、pro,四套环境如果用相同的镜像一般来说是不行的,所以我们需要根据不同的环境来加载不同的配置参数。
一、dockerfile配置
这里面有三个主要的配置信息
1、创建启动日志记录
2、拷贝可执行脚本sh
3、运行可执行脚本
二、启动脚本配置
1、配置启动文件挂载后的容器文件位置
2、设置默认的启动参数(这个就简单了,能启动就行)
3、启动你自己打包好的jar包文件
三、JVM启动参数配置
-Xmx1g
-Xms1g
-Xss256k
-XX:+UseG1GC
-XX:NewRatio=2
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Xlog:gc*:file=/var/log/gc.log:time,level
-XX:-UseBiasedLocking
-Dspring.profiles.active=prod
四、启动项目,查看加载情况
发现JVM参数已加载
总结
当前,环境文件直接放在本地,dockerfile打包镜像的时候切换下配置文件就好了,彻底解决不同环境配置不同的问题。