文章目录
- Github
- 官网
- 文档
- Nacos 生态图
- Nacos Docker
- docker-compose.yml
- application.properties
- Nacos 官方示例
Github
- https://github.com/alibaba/nacos
官网
- https://nacos.io/
文档
- https://nacos.io/docs/latest/what-is-nacos/
Nacos 生态图
Nacos Docker
- 镜像:https://hub.docker.com/r/nacos/nacos-server
# 最新版镜像
docker pull nacos/nacos-server
docker pull nacos/nacos-server:v2.3.2
- 创建缩主机目录
mkdir nacos && cd nacos
mkdir data logs
docker run --name nacos \
-e MODE=standalone \
-p 8848:8848 \
-d nacos/nacos-server:v2.3.2
- 复制容器内 conf 目录到缩主机
cd docker/nacos/
docker cp nacos:/home/nacos/conf ./
docker-compose.yml
services:
nacos:
image: nacos/nacos-server:v2.3.2
container_name: nacos
restart: always
ports:
- "8848:8848"
- "9848:9848"
environment:
MODE: standalone
# 开启鉴权功能
NACOS_AUTH_ENABLE: true
# 设置Token的密钥,需大于32位字符串并转义成Base64编码
NACOS_AUTH_TOKEN: "YWtkODkzNzY0ODk1Mzg3NDk4amtkaWV3a3Bsb2lkdWU="
# 登录账号
NACOS_AUTH_IDENTITY_KEY: "nacos"
# 登录密码
NACOS_AUTH_IDENTITY_VALUE: "nacos"
volumes:
- /etc/localtime:/etc/localtime
- ./nacos/conf:/home/nacos/conf
- ./nacos/data:/home/nacos/data
- ./nacos/logs:/home/nacos/logs
docker-compose up -d nacos
- http://192.168.2.125:8848/nacos/
注意: 访问缩主机IP地址,而非 127.0.0.1 地址。以上示例并未配置 MySQL 数据库,配置数据保存在 data/config-data 目录下。
注意: 开启鉴权功能后就需要验证登录账号与密码(nacos/nacos)。
application.properties
conf/application.properties 配置连接 MySQL 数据库
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://mysql:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
db.user.0=nacos
db.password.0=nacos
### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
Nacos 官方示例
# Clone 项目
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker
- 单机模式
# 单机模式 Derby
docker-compose -f example/standalone-derby.yaml up
# 使用 MySQL5.7
docker-compose -f example/standalone-mysql-5.7.yaml up
# 使用 MySQL8
docker-compose -f example/standalone-mysql-8.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/instance/list?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"