docker搭建nacos集群及遇到问题的处理----超详解

1、pull base镜像

因为nacos启动需要依赖jdk和maven 这里我直接在docker hub上拉去了一个基于jdk1.8 maven3.3.9的centos镜像
docker搭建nacos集群及遇到问题的处理----超详解

2、下载nacos-server

然后https://github.com/alibaba/nacos/releases github上下载nacos-server,这里我选择的版本为1.2.1
docker搭建nacos集群及遇到问题的处理----超详解
如果github上下载很慢这里推荐百度网盘进行下载
docker搭建nacos集群及遇到问题的处理----超详解

3、启动三台docker容器

docker搭建nacos集群及遇到问题的处理----超详解docker run -itd -p 8850:8848 --name nacos3 indigo/centos-maven /bin/bash
这里我宿主机的8848、8849、8850端口分别映射容器内8848端口
docker搭建nacos集群及遇到问题的处理----超详解

4、docker cp 将nacos-server压缩包拷贝到容器内的/opt目录下

docker搭建nacos集群及遇到问题的处理----超详解
docker cp /Users/jiangwentao/nacos/nacos-server-1.2.1.tar(1).gz nacos3:/opt
(注意:后面的nacos3:/opt 表示对应名称nacos3的/opt目录下)

5、容器内解压压缩包

tar -zxvf nacos-server-1.2.1.tar(1).gz
解压后会出现这种目录结构:
docker搭建nacos集群及遇到问题的处理----超详解

6、配置文件及参数的修改

1、将/conf/nacos-mysql.sql文件中的内容放到宿主机的mysql中执行
docker搭建nacos集群及遇到问题的处理----超详解
2、将cluster.conf.example文件名修改为cluster.conf并修改文件中的配置
docker搭建nacos集群及遇到问题的处理----超详解
注意! 这里的ip为nacos启动对外的ip,通过查看/log/start.out启动日志就可以发现
docker搭建nacos集群及遇到问题的处理----超详解
3、修改/conf/application.properties 中的配置
docker搭建nacos集群及遇到问题的处理----超详解
注意!这里圈住的ip我在另一篇文章中有解释:https://blog.csdn.net/TSEAHT/article/details/107404408

7、分别启动三台nacos机器

sh nacos/bin/startup.sh
可以通过查看启动日志cat /log/start.out看看启动结果和ip来更改cluster.conf中的ip

8、查看nacos控制台

这里通过localhost:8848/nacos 进入nacos控制台可以看到集群管理下有三台nacos机器正在运行,证明集群搭建成功
docker搭建nacos集群及遇到问题的处理----超详解

9、搭建过程中踩到的一个坑及解决方法

博主搭建nacos集群启动三台nacos机器的时候,第一台第二台启动成功并选举了一主一从,每当启动第三台机器的时候就会将前两台中的master机器莫名其妙给宕掉然后第三台启动成功,然后我又打算重启那台宕掉的nacos机器,又会把前面成功的两台中的master机器给宕掉,自始至终都只能启动成功两台,经过排查发现是docker分配的内存资源不够,这里进入docker管理界面将内存调为4G应用并重启docker,然后再重启三台nacos机器,就能成功启动了,这里参考了以为博主的博文,他这里分析了多种可能,我这里只试了第一种就成功解决这个问题,https://blog.csdn.net/qq_42915936/article/details/105184212
docker搭建nacos集群及遇到问题的处理----超详解