Nacos Docker

本项目是 Nacos Server的docker镜像的build源码,以及Nacos server 在docker的单机和集群的运行例子.

项目目录

  • build:nacos 镜像制作的源码
  • env: docker compose 环境变量文件
  • example: docker-compose编排例子

运行环境

注意事项

  • 从最新的nacos:nacos-server/latest 镜像以后,移除了数据库主从镜像,具体原因请参考移除主从镜像配置
  • 从Nacos 1.3.1版本开始,数据库存储已经升级到8.0,并且它向下兼容

快速开始

打开命令窗口执行:

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

其他使用方式

打开命令窗口执行:

  • Clone 项目 并且进入项目根目录

    git clone https://github.com/paderlol/nacos-docker.git
    cd nacos-docker
    
  • 单机

    docker-compose -f standalone.yaml up
    
  • 集群

    docker-compose -f cluster.yaml up 
    
  • 注册服务

    curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
    
  • 注册配置

    curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"
    
  • 访问控制台

    浏览器访问:http://127.0.0.1:8848/nacos/

属性配置列表

属性名称描述选项
MODE系统启动方式: 集群/单机cluster/standalone默认 cluster
NACOS_SERVERSnacos cluster addressp1:port1空格ip2:port2 空格ip3:port3
PREFER_HOST_MODE支持IP还是域名模式hostname/ip 默认 ip
NACOS_SERVER_PORTNacos 运行端口默认 8848
NACOS_SERVER_IP多网卡模式下可以指定IP
SPRING_DATASOURCE_PLATFORMstandalone support mysqlmysql / 空 默认:空
MYSQL_SERVICE_HOSTmysql host
MYSQL_SERVICE_PORTmysql database port默认 : 3306
MYSQL_SERVICE_DB_NAMEmysql database name
MYSQL_SERVICE_USERusername of database
MYSQL_SERVICE_PASSWORDpassword of database
MYSQL_SSL_ENABLEuse ssl默认 : false
MYSQL_MASTER_SERVICE_HOSTlatest(目前latest 是1.1.4)以后版本镜像移除, 使用 MYSQL_SERVICE_HOST
MYSQL_MASTER_SERVICE_PORTlatest(目前latest 是1.1.4)以后版本镜像移除, 使用 using MYSQL_SERVICE_PORT默认 : 3306
MYSQL_MASTER_SERVICE_DB_NAMElatest(目前latest 是1.1.4)以后版本镜像移除, 使用 MYSQL_SERVICE_DB_NAME
MYSQL_MASTER_SERVICE_USERlatest(目前latest 是1.1.4)以后版本镜像移除, 使用 MYSQL_SERVICE_USER
MYSQL_MASTER_SERVICE_PASSWORDlatest(目前latest 是1.1.4)以后版本镜像移除, 使用, using MYSQL_SERVICE_PASSWORD
MYSQL_SLAVE_SERVICE_HOSTlatest(目前latest 是1.1.4)以后版本镜像移除
MYSQL_SLAVE_SERVICE_PORTlatest(目前latest 是1.1.4)以后版本镜像移除默认 :3306
MYSQL_DATABASE_NUMIt indicates the number of database默认 :1
JVM_XMS-Xms默认 :2g
JVM_XMX-Xmx默认 :2g
JVM_XMN-Xmn默认 :1g
JVM_MS-XX:MetaspaceSize默认 :128m
JVM_MMS-XX:MaxMetaspaceSize默认 :320m
NACOS_DEBUGenable remote debugy/n 默认 :n
TOMCAT_ACCESSLOG_ENABLEDserver.tomcat.accesslog.enabled默认 :false
NACOS_AUTH_SYSTEM_TYPE权限系统类型选择,目前只支持nacos类型默认 :nacos
NACOS_AUTH_ENABLE是否开启权限系统默认 :false
NACOS_AUTH_TOKEN_EXPIRE_SECONDStoken 失效时间默认 :18000
NACOS_AUTH_TOKENtoken默认 :SecretKey012345678901234567890123456789012345678901234567890123456789
NACOS_AUTH_CACHE_ENABLE权限缓存开关 ,开启后权限缓存的更新默认有15秒的延迟默认 : false

Nacos + Grafana + Prometheus

使用参考:Nacos monitor-guide

Note: 当使用Grafana创建数据源的时候地址必须是: http://prometheus:9090