1. 先确定自己是否有docker-compose环境
docker-compose version
如果出现了docker-compose的版本号则跳转第3步,否则进入第二部的docker-compose环境安装
2. 安装docker-compose环境
yum install -y python3-pip
添加 pip 的镜像
cd ~
mkdir .pip
cd .pip
vi pip.conf
pip.conf 中的内容为
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
trusted-host=pypi.tuna.tsinghua.edu.cn
pip3 install docker-compose
3. 开始搭建nacos集群
官网的地址:https://nacos.io/zh-cn/docs/quick-start-docker.html
git clone https://github.com/nacos-group/nacos-docker.git
如果提示git指令未找到
yum install -y git
下载完成后可以看见nacos-docker文件夹
nacos-docker目录结构
env 文件夹中存放的是利用docker-compose构建镜像时的一些环境
example 文件夹中存放的是docker-compose构建镜像的文件
构建各种类型镜像的指令:
- 单机模式 Derby
docker-compose -f example/standalone-derby.yaml up
- 单机模式 Mysql
docker-compose -f example/standalone-mysql.yaml up
- 集群模式
docker-compose -f example/cluster-hostname.yaml up
这里我们选择集群模式,由于笔者的docker上已经运行了一个Mysql容器,所以我先对 cluster-hostname.yaml 文件进行修改
version: "3"
services:
nacos1:
hostname: nacos1
container_name: nacos1
image: nacos/nacos-server:latest
volumes:
- ./cluster-logs/nacos1:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8848:8848"
- "9555:9555"
env_file:
- ../env/nacos-hostname.env
restart: always
depends_on:
- mysql
nacos2:
hostname: nacos2
image: nacos/nacos-server:latest
container_name: nacos2
volumes:
- ./cluster-logs/nacos2:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8849:8848"
env_file:
- ../env/nacos-hostname.env
restart: always
depends_on:
- mysql
nacos3:
hostname: nacos3
image: nacos/nacos-server:latest
container_name: nacos3
volumes:
- ./cluster-logs/nacos3:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
ports:
- "8850:8848"
env_file:
- ../env/nacos-hostname.env
restart: always
depends_on:
- mysql
mysql:
// 修改容器名避免冲突
container_name: nacos-mysql
image: nacos/nacos-mysql:5.7
env_file:
- ../env/mysql.env
volumes:
- ./mysql:/var/lib/mysql
// 修改端口映射避免冲突
ports:
- "3308:3306"
如果您的服务器内存资源足够(大于4G),则可以直接运行
docker-compose -f example/cluster-hostname.yaml up
否则会出现三台nacos机器疯狂重启的情况,这是我们可以选择增加内存资源或者修改nacos运行配置
修改/nacos-docker/env/nacos-hostname.env
#jvm
JVM_XMS=256m
JVM_XMX=256m
JVM_XMN=256m
然后我们运行
docker-compose -f example/cluster-hostname.yaml up
启动成功后 我们可以访问 nacos 控制台
http://xxxx:8848/nacos/
默认用户名和密码都是nacos
当看到如下界面时,证明搭建成功
连接Mysql数据库可视化工具
用户名和密码在 /nacos-docker/env/mysql.env 中, 默认为用户名密码都为nacos
- 停止所有相关服务
docker-compose -f example/cluster-hostname.yaml stop
- 开启所有相关服务
docker-compose -f example/cluster-hostname.yaml start