网上一堆不靠谱的,所以我自己搭建的,然后自己写一个

数据库怎么安装我就不说了,我使用的5.7,是经过各种考虑之后觉得的,原因很多啊,例如受nacos版本控制,mysql高版本需要引入jar包等等原因

1、docker拉取nacos镜像

docker pull nacos/nacos-server
#或者指定版本
docker pull nacos/nacos-server:1.3.2

2、启动nacos

docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
#或指定版本
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.3.2

3、配置数据库

#执行如下命令进入配置nacos
docker exec -it nacos bash

#修改conf/application.properties文件,可以修改可以覆盖如下
#注意如果mysql也是使用docker启动的,需要指定mysql在docker中的ip,这里我只需要一个主数据库配置
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true

4、重新启动nacos

docker restart nacos

5、在浏览器访问查看结果

http://ip:port/nacos/index.html
用户名:nacos
密码:nacos

登录之后可以自行添加用户,添加配置等等,数据都会存储在你指定的数据库中,不会再使用nacos本地数据库了

6、遇到以下错误处理逻辑

#检查防火墙状态
systemctl status firewalld.service 

#启动防火墙
systemctl start firewalld.service 

#重启docker中的nacos
docker restart nacos

#关闭防火墙
systemctl stop firewalld.service