利用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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章