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集群)

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM