Dokcer运行Nacos容器自动退出问题
Dokcer运行Nacos容器自动退出问题
参考博文
学生党,租的云服务器,2核2G。使用Docker运行Nacos容器的时候发现总是自动退出。Nacos日志里面没有明显的报错信息。查了一下是内存溢出错误,指令如下
journalctl -k | grep -i -e memory -e oom
发生了OOM错误,自动杀死了相关进程
又重新看了下Nacos日志,如下图所示,发现堆内存设置的太大了,初始堆内存Xms设置的1G,最大堆内存Xmx设置的1G,年轻代Xmn设置的512M。
问题找到了,将JVM堆内存设置小即可
我用的是 docker-compose运行Nacos相关服务的。Nacos相关部分的yml代码如下所示
version: "3.2"
services:
nacos:
image: nacos/nacos-server
environment:
- MODE=standalone
- JVM_XMS=64m
- JVM_XMX=64m
- JVM_XMN=16m
ports:
- "8848:8848"
启动完了记得再看下Nacos日志是不是按自己配置的内存来的,如果没变,应该就是yml里面的格式不对,再核对核对自己写的配置文件对不对。再重新运行配置文件后,我们查看Nacos日志,发现配置生效
再查一下运行中的Docker容器
docker ps
没有自动退出。但是又出了新的问题。nacos虽然不会自动退出了,但是日志又报堆内存溢出了,报错的图我忘记截了,大家知道java堆内存溢出即可
查一下nacos使用内存,使用指令
ps -aux|grep nacos
发现其占用大概300多M的物理内存。然后就按前面的方式重新调整一下堆内存就可以了。