Nacos相關使用筆記


 

使用docker部署Nacos

#拉取鏡像 docker pull nacos/nacos server

docker run -d --name nacos -p 8848:8848 -e PREFER_HOST_MODE=192.168.30.189 -e MODE=standalone nacos/nacos-server

其中參數PREFER_HOST_MODE填入服務器Ip

 

自行配置MySQL 執行命令如下:

docker run -d \

-e PREFER_HOST_MODE=hostname \

-e MODE=standalone \

-e SPRING_DATASOURCE_PLATFORM=mysql \

-e MYSQL_SERVICE_HOST={mysqlIp} \

-e MYSQL_SERVICE_PORT={mysqlPort} \

-e MYSQL_SERVICE_USER={mysql用戶名} \

-e MYSQL_SERVICE_PASSWORD={mysql用戶密碼} \

-e MYSQL_SERVICE_DB_NAME={mysql數據庫名} \

-p 8848:8848 \

--name nacos-standalone-mysql \

--restart=always \

nacos/nacos-server

 

 

 

docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
docker exec -it <CONTAINER ID> bash
vim conf/application.properties
// 修改對應mysql參數
docker restart nacos/nacos-server
docker restart <CONTAINER ID>

對應參數:

name description option
MODE cluster模式/standalone模式 cluster/standalone default cluster
NACOS_SERVERS nacos cluster地址 eg. ip1,ip2,ip3
PREFER_HOST_MODE 是否支持hostname hostname/ip default ip
NACOS_SERVER_PORT nacos服務器端口 default 8848
NACOS_SERVER_IP 多網卡下的自定義nacos服務器IP  
SPRING_DATASOURCE_PLATFORM standalone 支持 mysql mysql / empty default empty
MYSQL_MASTER_SERVICE_HOST mysql 主節點host  
MYSQL_MASTER_SERVICE_PORT mysql 主節點端口 default : 3306
MYSQL_MASTER_SERVICE_DB_NAME mysql 主節點數據庫  
MYSQL_MASTER_SERVICE_USER 數據庫用戶名  
MYSQL_MASTER_SERVICE_PASSWORD 數據庫密碼  
MYSQL_SLAVE_SERVICE_HOST mysql從節點host  
MYSQL_SLAVE_SERVICE_PORT mysql從節點端口 default :3306
MYSQL_DATABASE_NUM 數據庫數量 default :2
JVM_XMS -Xms default :2g
JVM_XMX -Xmx default :2g
JVM_XMN -Xmn default :1g
JVM_MS -XX:MetaspaceSize default :128m
JVM_MMS -XX:MaxMetaspaceSize default :320m
NACOS_DEBUG 開啟遠程調試 y/n default :n
TOMCAT_ACCESSLOG_ENABLED server.tomcat.accesslog.enabled default :false

 

docker-compose up部署

  • Clone 項目

    git clone https://github.com/nacos-group/nacos-docker.git cd nacos-docker 
  • 修改mysql配置

## \nacos-docker\env\nacos-standlone-mysql.env PREFER_HOST_MODE=hostname MODE=standalone SPRING_DATASOURCE_PLATFORM=mysql MYSQL_SERVICE_HOST=192.168.31.219 MYSQL_SERVICE_DB_NAME=barm_nacos MYSQL_SERVICE_PORT=3306 MYSQL_SERVICE_USER=root MYSQL_SERVICE_PASSWORD=123456 
  • 初始化nacos數據庫

    初始化nacos數據sql

  • 修改standalone-mysql.yaml

注釋掉mysql,prometheus,grafana(健康相關的暫時用不上)

version: "2" services: nacos: image: nacos/nacos-server:latest container_name: nacos-standalone-mysql env_file: - ../env/nacos-standlone-mysql.env volumes: - ./standalone-logs/:/home/nacos/logs - ./init.d/custom.properties:/home/nacos/init.d/custom.properties ports: - "8848:8848" - "9555:9555" # depends_on: # - mysql restart: on-failure # mysql: # container_name: mysql # image: mysql:5.7.29 # env_file: # - ../env/mysql.env # volumes: # - ./mysql:/var/lib/mysql # ports: # - "3306:3306" # prometheus: # container_name: prometheus # image: prom/prometheus:latest # volumes: # - ./prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml # ports: # - "9090:9090" # depends_on: # - nacos # restart: on-failure # grafana: # container_name: grafana # image: grafana/grafana:latest # ports: # - 3000:3000 # restart: on-failure 
  • 單機模式 Mysql

    docker-compose -f example/standalone-mysql.yaml up 
  • 服務注冊

    curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080' 
  • 服務發現

    curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName' 
  • 發布配置

    curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld" 
  • 獲取配置

      curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test" 

Common property configuration

name description option
MODE cluster模式/standalone模式 cluster/standalone default cluster
NACOS_SERVERS nacos cluster地址 eg. ip1,ip2,ip3
PREFER_HOST_MODE 是否支持hostname hostname/ip default ip
NACOS_SERVER_PORT nacos服務器端口 default 8848
NACOS_SERVER_IP 多網卡下的自定義nacos服務器IP  
SPRING_DATASOURCE_PLATFORM standalone 支持 mysql mysql / empty default empty
MYSQL_MASTER_SERVICE_HOST mysql 主節點host  
MYSQL_MASTER_SERVICE_PORT mysql 主節點端口 default : 3306
MYSQL_MASTER_SERVICE_DB_NAME mysql 主節點數據庫  
MYSQL_MASTER_SERVICE_USER 數據庫用戶名  
MYSQL_MASTER_SERVICE_PASSWORD 數據庫密碼  
MYSQL_SLAVE_SERVICE_HOST mysql從節點host  
MYSQL_SLAVE_SERVICE_PORT mysql從節點端口 default :3306
MYSQL_DATABASE_NUM 數據庫數量 default :2
JVM_XMS -Xms default :2g
JVM_XMX -Xmx default :2g
JVM_XMN -Xmn default :1g
JVM_MS -XX:MetaspaceSize default :128m
JVM_MMS -XX:MaxMetaspaceSize default :320m
NACOS_DEBUG 開啟遠程調試 y/n default :n
TOMCAT_ACCESSLOG_ENABLED server.tomcat.accesslog.enabled default :false

Nacos + Grafana + Prometheus

有興趣可以看看這個:

參考:Nacos監控指南

Note: grafana創建一個新數據源時,數據源地址必須是 http://prometheus:9090

上傳阿里雲docker私有鏡像

登錄阿里雲創建自己對應的倉庫

docker login --username=username registry.cn-aliyuncs.com docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/username/barm-nacos:[鏡像版本號] docker push registry.cn-hangzhou.aliyuncs.com/allenalan/barm-nacos:[鏡像版本號]

 


免責聲明!

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



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