nacos
拉取镜像
docker pull nacos/nacos-server:2.0.1
三个分别启动
docker run -d \ -e PREFER_HOST_MODE=hostname \ -e MODE=cluster \ -e NACOS_SERVER_PORT=8848 \ -e NACOS_SERVERS="192.168.1.116:8848 192.168.0.232:8848 192.168.0.248:8848" \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=192.168.0.233 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=123456 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e NACOS_SERVER_IP=192.168.1.116 \ -p 8848:8848 \ --name my-nacos1 \ nacos/nacos-server:2.0.1 docker run -d \ -e PREFER_HOST_MODE=hostname \ -e MODE=cluster \ -e NACOS_SERVER_PORT=8848 \ -e NACOS_SERVERS="192.168.1.116:8848 192.168.0.232:8848 192.168.0.248:8848" \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=192.168.0.233 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=123456 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e NACOS_SERVER_IP=192.168.0.232 \ -p 8848:8848 \ --name my-nacos2 \ nacos/nacos-server:2.0.1 docker run -d \ -e PREFER_HOST_MODE=hostname \ -e MODE=cluster \ -e NACOS_SERVER_PORT=8848 \ -e NACOS_SERVERS="192.168.1.116:8848 192.168.0.232:8848 192.168.0.248:8848" \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=192.168.0.233 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=123456 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e NACOS_SERVER_IP=192.168.0.248 \ -p 8848:8848 \ --name my-nacos3 \ nacos/nacos-server:2.0.1
启动成功
问题
创建服务时报错
server is DOWNnow, detailed error message: Optional[Distro protocol is not initialized]
网上说是内存太少,但是我已经给了1G了,还是不行,无奈不使用docker进行部署了
普通方式部署如下
https://blog.csdn.net/yujing1314/article/details/122730251
Nacos 下线服务,配置服务权重或下线报错选举Leader失败问题的解决,切换ip后
解决方案
Nacos 采用 raft 算法来计算 Leader,并且会记录前一次启动的集群地址,所以当我们自己的服务器 IP 改变时,会导致 raft 记录的集群地址失效,导致选 Leader 出现问题,只要删除 Nacos 根目录下 data 文件夹下的 protocol 文件夹即可。