文章背景
作者准备在阿里云服务器用Docker部署注册中心Nacos,但是一直是部署失败,Nacos启动失败,排查近1小时才找到解决方案,演我呢???
这里做个记录给各位靓仔一个参考解决方案
Docker启动部署Nacos
Nacos本身会依赖数据库,官网的数据库支持有三种,Derby(Nacos自带内存数据库),Mysql(5.7),Mysql(8),这里我们直接采用自带的Derby即可
执行docker启动命令:
: docker run --name nacos--test -e PREFER_HOST_MODE=hostname -e SPRING_DATASOURCE_PLATFORM=derby -e MODE=standalone -p 8848:8848 -d nacos/nacos-server
然后访问Nacos UI地址: http://IP:8848/nacos/ 可以看到部署访问成功
Nacos启动失败排查过程
Nacos部署成功后,过了一会发现Nacos居然自己嗝屁了,或者过几秒又停掉了!!! 或者一开始就docker 就启动失败,但是却没有任何启动报错日志
docker logs -f nacos-test 查看nacos启动日志,一切正常,但是就是启动失败
接着用 :docker inspect nacos-test 查看nacos 启动环境参数,发现默认启动的JVM_XMS 堆内存居然是1G,(楼主是阿里云服务器,乞丐版),这里就想到了
是不是我的Nacos启动内存太大,我服务器吃不消??
尝试解决方案:在nacos启动时,增加JVM_XMS/JVM_XMX 启动参数,限制启动运行内存,这里我改成256M看看效果
: docker run --name nacos-yh-test -e PREFER_HOST_MODE=hostname -e SPRING_DATASOURCE_PLATFORM=derby -e MODE=standalone -e JVM_XMS=256m -e JVM_XMX=256m -p 8848:8848 -d nacos/nacos-server
最终完美解决,启动成功!!!!,运行使用没毛病
Nacos启动失败解决方案总结
1 docker启动nacos使用JVM_XMS/JVM_XMX 内存是1G(乞丐版服务器撑不住)
2 修改启动命令限制启动参数JVM_XMS/JVM_XMX,即
:docker run --name nacos-yh-test -e PREFER_HOST_MODE=hostname -e SPRING_DATASOURCE_PLATFORM=derby -e MODE=standalone -e JVM_XMS=256m -e JVM_XMX=256m -p 8848:8848 -d nacos/nacos-server