侧边栏

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>

对应参数:

namedescriptionoption
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

namedescriptionoption
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:[镜像版本号]

 

posted @   我有我的骄傲  阅读(829)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
历史上的今天:
2021-03-30 Linux上设置redis的开启自启动的方法(适用于centos 7及以上版本)
点击右上角即可分享
微信分享提示