由于docker run nacos的一般情况并不能正常启动nacos,所以把过程记录一下。
1.拉取镜像:docker pull nacos/nacos-server
2.nacos依赖数据库及数据库表,所以先新建数据库nacos_config,并导入sql,sql位置在nacos安装目录/conf/nacos-mysql.sql
nacos_config:链接:https://pan.baidu.com/s/1hksL02SohMglEdR4N_vOqA 提取码:vwrm
3.创建挂载的目录和配置文件
mkdir -p /home/nacos/logs/ #新建logs目录
mkdir -p /home/nacos/init.d/
vi /home/nacos/init.d/custom.properties #创建配置文件
添加:
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://服务器ip:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
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.启动容器(单机)
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /home/nacos/logs:/home/nacos/logs \
-v /home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server
5.检查是否正常启动,等待一会,查看日志docker logs nacos,或查看nacos启动日志(cat /home/nacos/logs/start.out)。如果日志打印报错,查看异常问题,如果没有报错,并容器正在运行,则访问(服务器ip:8848/nacos)对nacos进行访问。
常见错误会出现在数据库配置问题上。