1、拉取 nacos 镜像
docker pull nacos/nacos-server
2、单机模式运行 nacos 容器
注意:Nacos 是一个动态服务发现、配置管理和服务管理平台。从1.2版本开始,Nacos引入了基于Token的鉴权机制,用于控制客户端对服务注册、配置读写等操作的权限。
NACOS_AUTH_TOKEN是启动Nacos时通过环境变量设置的一个Base64编码字符串,用作全局访问令牌(Global Token)。如果该值未正确配置,可能导致:
- 鉴权功能失效
- 客户端请求被拒绝
- 服务无法正常启动
所以启动命令需要设置环境变量 -e NACOS_AUTH_TOKEN,值为 base64编码字符串,可以通过以下命令生成:
# 操作系统生成,后面第 4 步需要使用到
openssl rand -base64 32
docker run -d --restart=always \
-p 8848:8848 \
-e MODE=standalone \
--name nacos \
nacos/nacos-server
3、持久化启动
Ⅰ、导入 mysql
Ⅰ、运行上面单机模式命令后,进入容器内部,将 application.properties 拷贝出来
# 创建数据目录
mkdir -p /xxx/nacos/data
# 创建配置文件目录
mkdir -p /xxx/nacos/conf
# 将容器配置拷贝到新建的配置文件目录下
docker cp 容器id:/home/nacos/conf/application.properties /xxx/nacos/conf
docker cp 容器id:/home/nacos/conf/nacos-logback.xml /xxx/nacos/conf
Ⅱ、修改配置
vim application.properties
修改内容如下:
4、重启容器
# -e NACOS_AUTH_TOKEN 的值通过第 2 步的 openssl rand -base64 32 生成 # 8081 是因为与 xxl-job 冲突 docker run -d --restart=always \ -p 8848:8848 \ -p 8081:8080 \ -p 9848:9848 \ -e MODE=standalone \ -v /akim-boot/nacos/data:/home/nacos/data \ -v /akim-boot/nacos/conf:/home/nacos/conf \ -e NACOS_AUTH_TOKEN=Dte/R1e+2oF5tqPag+tUoE4N9RxjV8ubTYijL0TgsZo= \ -e NACOS_AUTH_IDENTITY_KEY=test_key \ -e NACOS_AUTH_IDENTITY_VALUE=test_value \ --name nacos \ nacos/nacos-server
5、访问 nacos
默认账号密码均为:nacos
http://xxx.xxx.xxx.xxx:8081/index.html
6、集群部署
准备工作:
| 主机名称 | IP地址 | 部署服务 |
|---|---|---|
| master | 192.168.67.200 | nginx + mysql + nacos |
| cluster1 | 192.168.67.201 | nacos |
| cluster2 | 192.168.67.202 | nacos |
| cluster3 | 192.168.67.203 | nacos |
