docker 搭建nacos1.3.2集群

2020年9月15日本次拉取nacos镜像为1.3.2 镜像自己拉取

在一台虚拟机上模拟,资源有限。mysql采用5.7 ,数据库初始化脚本:https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql  

docker run -d 
-e MODE=cluster 
-e NACOS_APPLICATION_PORT=8846 
-e NACOS_SERVERS=192.168.100.132:8846,192.168.100.132:8847,192.168.100.132:8848 
-e SPRING_DATASOURCE_PLATFORM=mysql 
-e MYSQL_SERVICE_HOST=192.168.100.132 
-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.100.132 
-p 8846:8846 
--name nacos8846 
nacos/nacos-server:1.3.2
 
docker run -d 
-e MODE=cluster 
-e NACOS_APPLICATION_PORT=8847 
-e NACOS_SERVERS=192.168.100.132:8846,192.168.100.132:8847,192.168.100.132:8848 
-e SPRING_DATASOURCE_PLATFORM=mysql 
-e MYSQL_SERVICE_HOST=192.168.100.132 
-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.100.132 
-p 8847:8847 
--name nacos8847 
nacos/nacos-server:1.3.2
 
docker run -d 
-e MODE=cluster 
-e NACOS_APPLICATION_PORT=8848 
-e NACOS_SERVERS=192.168.100.132:8846,192.168.100.132:8847,192.168.100.132:8848 
-e SPRING_DATASOURCE_PLATFORM=mysql 
-e MYSQL_SERVICE_HOST=192.168.100.132 
-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.100.132 
-p 8848:8848 
--name nacos8848 
nacos/nacos-server:1.3.2

配置说明:

docker run -d  # -d表示是后台运行
-e MODE=cluster  # 以集群模式运行
-e NACOS_APPLICATION_PORT=8846  # 这台Nacos服务的port是8846
-e NACOS_SERVERS=192.168.100.132:8846,192.168.100.132:8847,192.168.100.132:8848  # Nacos集群的所有机器的信息
-e SPRING_DATASOURCE_PLATFORM=mysql  # 使用外置MySQL存储配置信息
-e MYSQL_SERVICE_HOST=192.168.100.132  # 外置MySQL的IP
-e MYSQL_SERVICE_PORT=3306  # 外置MySQL的port
-e MYSQL_SERVICE_USER=root  # 外置MySQL的用户名
-e MYSQL_SERVICE_PASSWORD=123456  # 外置MySQL的密码
-e MYSQL_SERVICE_DB_NAME=nacos_config  # 外置MySQL的数据库,也就是Nacos的配置文件要存储得到哪个数据库,这个在单机版Nacos使用外置数据库时候介绍过
-e NACOS_SERVER_IP=192.168.100.132  # 这台Nacos服务的IP
-p 8846:8846  # 容器外部端口映射
--name nacos8846  # 给容器起个名字吧
nacos/nacos-server:1.3.2 # 运行哪个镜像

  常见坑点:官网使用的是NACOS_SERVER_PORT,对于nacos/nacos-server:1.3.2镜像,自定义Nacos端口号的时候,不要使用NACOS_SERVER_PORT,要使用NACOS_APPLICATION_PORT!因为conf/application.properties里写了。

 查看启动的容器:

 分别访问:默认账号:nacos 默认密码:nacos

http://192.168.100.132:8846/nacos

http://192.168.100.132:8847/nacos

http://192.168.100.132:8848/nacos

 由Nginx进行转发(nginx下部署了3台Nacos集群)配置文件自行修改

    upstream cluster {
        server 192.168.100.132:8846;
        server 192.168.100.132:8847;
        server 192.168.100.132:8848;
    }

    location / {
        proxy_pass http://cluster;
    }

访问http://192.168.100.132/nacos

 修改项目中的配置文件

spring:
  application:
    name: my-provider01
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.100.132:80 # 指向Nginx,由Nginx进行转发(nginx下部署了3台Nacos集群)

  

原文地址:https://www.cnblogs.com/yscec/p/13670568.html