Docker部署Nacos自动停止运行
1、现象
使用docker部署的Nacos在运行一段时间后,就自动停止运行了。
查看docker运行容器,nacos停止了
2、解决
因为是学生购买的轻量级服务器,所以配置很低,出现这种问题我默认是内存爆了
解决步骤部分参考了此文章
解决步骤:
1.查看操作系统日志
journalctl -k | grep -i -e memory -e oom
可以看到由于内存不足,守护线程oom killer杀掉了java线程,该线程就是我们的Nacos
2.查看Nacos日志
docker logs 容器名
可以看到Nacos容器设置的堆内存过大,所以系统无法分配这么多的内存,操作系统Kill了这个线程
3.调整Nacos容器堆内存大小
没有找到修改容器JVM参数的方式,所以选择退而求其次的方法,在配置容器时加上JVM内存限制:
-e JVM_XMS=64m -e JVM_XMX=64m -e JVM_XMN=16m
JVM_XMS=512m // 为jvm启动时分配的内存;512m
JVM_XMX=512m // 为jvm运行过程中分配的最大内存;512m
JVM_XMN=256m // jvm堆内存中新生代的大小;256m
Nacos配置docker容器:
docker run --name nacos-standalone -e MODE=standalone -e JVM_XMS=64m -e JVM_XMX=64m -e JVM_XMN=16m -p 8848:8848 -d nacos/nacos-server
4.查看nacos日志
如图,JVM最大为64m,现在我的垃圾服务器能够顺利搭建集群了(上面使用的是standalone)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)