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