利用docker-compose從零搭建nacos集羣

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文件夾
![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200421003521323.png
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章