关于nacos搭建与使用

关于nacos搭建与使用

  • 中文官网
  • Docker安装官方地址
  • Docker安装官方地址(中文版)

安装

推荐Docker安装,简单快捷

环境要求:

  • docker
  • docker-compose

上面给的两个版本都可以用,下面介绍第二个版本安装方法

  • Clone 项目 并且进入项目根目录
1
2
git clone https://github.com/paderlol/nacos-docker.git
cd nacos-docker
  • 单机
1
docker-compose -f standalone.yaml up
  • 集群
1
docker-compose -f cluster.yaml up
  • 注册服务(或者直接在项目中的application.yaml里配置)
1
curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'
  • 注册配置(或者直接在项目中的application.yaml里配置)
1
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/
    初始用户名密码都是 nacos

这里直接贴出nacos的docker-compose配置,不想git的朋友直接配置就好

  • 单机版(测试的话这个就好)
1
2
3
4
5
6
7
8
9
10
11
12
version: "2"
services:
nacos:
image: paderlol/nacos:latest
container_name: nacos-standalone
environment:
- PREFER_HOST_MODE=hostname
- MODE=standalone
volumes:
- ./logs:/home/nacos/logs
ports:
- "8848:8848"
  • 集群版(基于mysql主从架构)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
version: "3"
services:
nacos1:
hostname: nacos1
container_name: nacos1
image: paderlol/nacos:latest
volumes:
- ./logs:/home/nacos/logs
ports:
- "8848:8848"
- "9555:9555"
env_file:
- ./env/nacos-hostname.env
restart: always
depends_on:
- mysql-master
- mysql-slave

nacos2:
hostname: nacos2
image: paderlol/nacos:latest
container_name: nacos2
ports:
- "8849:8848"
env_file:
- ./env/nacos-hostname.env
restart: always
depends_on:
- mysql-master
- mysql-slave
nacos3:
hostname: nacos3
image: paderlol/nacos:latest
container_name: nacos3
ports:
- "8850:8848"
env_file:
- ./env/nacos-hostname.env
restart: always
depends_on:
- mysql-master
- mysql-slave
mysql-master:
container_name: mysql-master
image: paderlol/nacos-mysql-master:latest
env_file:
- ./env/mysql-common.env
- ./env/mysql-master.env
volumes:
- ./mysql:/var/lib/mysql
ports:
- "3306:3306"
mysql-slave:
container_name: mysql-slave
image: paderlol/nacos-mysql-slave:latest
env_file:
- ./env/mysql-common.env
- ./env/mysql-slave.env
ports:
- "3305:3306"
depends_on:
- mysql-master