Docker限制SpringBoot的内存等配置

12 篇文章 1 订阅
10 篇文章 0 订阅

在最近的线上运行中,运维反馈部分客户机器上资源不够,且需要根据不同的客户要求调整不同的docker资源,故而整理以下设置:

方式一:

在Dockerfile中设置:

ENTRYPOINT exec java -Xms512m -Xmx1024m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=1024m -XX:-OmitStackTraceInFastThrow  -Djava.security.egd=file:/dev/./urandom  -Dspring.profiles.active=pro -jar /app.jar

  优点:开发人员直接固定为相对于较优或最大支持的参数,其他运维人员不易随便更改其参数设置

  缺点: 运维不能根据实际情况进行参数跳转

方法二:

 通过参数引用,在启动Docker时传入JAVA_OPTS的参数,方便运维人员根据实际情况设置,且当运行时不指定该参数时容器一样能正常运行。

Dockerfile:
ENTRYPOINT exec java $JAVA_OPTS  -Djava.security.egd=file:/dev/./urandom -jar /app.jar
docker-compose:
## 参数设置: 
environment:
    JAVA_OPTS: "-Xms512m -Xmx1024m -Xss1024K"

如当前服务需要远程debug时可以先在dockerfile文件中预置:JAVA_DEBUG_OPTS,在需要的调试模式时,在docker-compose中配置:

JAVA_DEBUG_OPTS: "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=53998"

即可开始调试

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值