小编在上一篇文章中发表了自己利用Docker部署Nacos所报出的错误,可谓是难以阅读。那么在这里呢,小编也是给大家分享一下程序报错的解决技巧:从最后面向前看,一般最后的那个错误就是核心错误,例如我遇到的这种成百行的报错究其原因其实就一个:No DataSource Set。下面小编将带着大家利用Docker部署Nacos。(小编从零到一部署,亲测有效,大家可以直接拿来用)
1.(小编自己的错误):Nacos版本与DB(小编用的是Mysql)版本不匹配,小编最开始使用的是Nacos 2.1.0 version,Mysql使用的是8.0.23,就因为这个问题一直整了一天毫无进展,后来更换了Nacos版本,使之与DB版本所匹配问题就得以解决了。
2.数据卷挂载方式个人主机文件配置:(小编使用的是数据卷挂载的方式,最简单最有效)
PREFER_HOST_MODE=hostname
MODE=standalone
SPRING_DATASOURCE_PLATFORM=数据库类型(小编使用的是Mysql)
MYSQL_SERVICE_HOST=虚拟机IP地址
MYSQL_SERVICE_DB_NAME=nacos(Nacos容器名称--自己取)
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=数据库用户名
MYSQL_SERVICE_PASSWORD=数据库密码
MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai #(最后这个大家基本不用改动,唯一可能需要改动的地方就是#connectTimeout=1000&socketTimeout=3000用于缓解网速较慢连接不上Nacos数据库的问题)
3.docker部署nacos命令
docker run -d \
--name nacos \ #部署容器名(注意:一定要与上面文件中的nacos容器名保持一致)
--env-file ./nacos/custom.env \ #挂载文件
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--privileged=true \
--restart=always \ #设置开机自启
-e JVM_XMS=256m \
-e JVM_XMX=256m \
nacos/nacos-server:v2.3.2 #nacos镜像版本号
4.提供了上述资料供大家参考,最后给大家说明一下部署步骤:
(1.)在虚拟机中导入nacos专用数据库,数据库名可以直接用nacos。
(2.)自定义配置文件(如上述第二条中的内容)并导入虚拟机。
(3.)配置Nacos镜像(一定要注意Nacos版本与Mysql版本相匹配,Mysql5可以稍微低一些版本,Mysql8就需要高一些的版本,小编这里使用的是2.3.2镜像版本)。
(4.)直接执行docker命令部署(如上述第三条 -- 修改好后复制粘贴即可)
(5.)检验是否配置成功:1.docker ps :查看正在运行容器(正常的话应该是Mysql和Nacos)2.docker logs -f nacos(自己设置的nacos容器名) 知道看到successfully这一关键字才算部署成功。
(6.)有问题欢迎各位评论区留言或者私信我。