Docker部署Nacos自动停止运行

1、现象

使用docker部署的Nacos在运行一段时间后,就自动停止运行了。

查看docker运行容器,nacos停止了

2、解决

因为是学生购买的轻量级服务器,所以配置很低,出现这种问题我默认是内存爆了

解决步骤部分参考了此文章

Docker运行Nacos容器自动退出问题的解决方法

解决步骤:

1.查看操作系统日志

journalctl -k | grep -i -e memory -e oom

image-20230131201952158

可以看到由于内存不足,守护线程oom killer杀掉了java线程,该线程就是我们的Nacos

2.查看Nacos日志

docker logs 容器名

可以看到Nacos容器设置的堆内存过大,所以系统无法分配这么多的内存,操作系统Kill了这个线程

image-20230131202238733

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)

image-20230131204552133

posted @   yikolemon  阅读(1644)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示