虚拟机centos7 docker nacos集群_记录Docker nacos 集群简单搭建

什么是Nacos?

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

Nacos官网资料

开始从Docker搭建

克隆nacos-docker 目前最行版为1.3.2

git clone https://github.com/nacos-group/nacos-docker.git

进入项目目录

cd nacos-docer

tree . -L 2

root@JesseHuan:~/dev/nacos-docker# tree . -L 2
.
|-- build # nacos 镜像制作的源码
|   |-- bin
|   |-- conf
|   |-- Dockerfile
|   `-- init.d
|-- changlog
|-- env # docker compose 环境变量文件 docker-compose -e 配置的变量可以写到对应的.env里面
|   |-- mysql.env
|   |-- nacos-embedded.env
|   |-- nacos-hostname.env 
|   |-- nacos-ip.env
|   `-- nacos-standlone-mysql.env
|-- example # docker-compose编排例子
|   |-- cluster-embedded.yaml # 集群-内置嵌入式数据库
|   |-- cluster-hostname.yaml # 集群-主机名 使用mysql
|   |-- cluster-ip.yaml # 集群-使用IP 同样是mysql
|   |-- cluster-logs 
|   |-- init.d
|   |-- mysql
|   |-- prometheus
|   |-- standalone-derby.yaml # 单机-内置嵌入式数据库derby
|   |-- standalone-mysql-5.7.yaml # 单机-mysql5.7
|   `-- standalone-mysql-8.yaml # 单机-mysql8
|-- README.md
`-- README_ZH.md

本次用cluster-hostname.yaml 搭建一个nacos集群,所以看下里面写了些什么 cat example/cluster-hostname.yaml

version: "3"
services:
  nacos1:
    hostname: nacos1
    container_name: nacos1
    image: nacos/nacos-server:latest
    volumes:
      - ./cluster-logs/nacos1:/home/nacos/logs # 配置nacos1的日志,需要自己创建目录
      - ./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 # 配置nacos2的日志,需要自己创建目录
      - ./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 # 配置nacos3的日志,需要自己创建目录
      - ./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: mysql
    image: nacos/nacos-mysql:5.7
    env_file:
      - ../env/mysql.env
    volumes:
      - ./mysql:/var/lib/mysql
    ports:
      - "3306:3306"

创建三个nacos日志文件夹 因为这里没有

mkdir -p example/cluster-logs/nacos1
mkdir -p example/cluster-logs/nacos2
mkdir -p example/cluster-logs/nacos3

由于我这里运行nacos集群的主机配置比较低为G4560+8GB,所以我配置下虚拟机大小 vim env/nacos-hostname.env

#nacos dev env
PREFER_HOST_MODE=hostname
NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
MYSQL_SERVICE_HOST=mysql
MYSQL_SERVICE_DB_NAME=nacos_devtest
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=nacos
MYSQL_SERVICE_PASSWORD=nacos

# 添加如下内容
JVM_XMS=768m
JVM_XMX=768m
JVM_XMN=384m

环境变量详情

运行命令启动集群docker-compose -f example/cluster-hostname.yaml up 我的主机性能比较差,需要等一会儿

Starting mysql ... done
Starting nacos3 ... done
Starting nacos1 ... done
Starting nacos2 ... done
Attaching to mysql, nacos3, nacos1, nacos2
mysql     | WARNING: no logs are available with the 'db' log driver
nacos3    | WARNING: no logs are available with the 'db' log driver
nacos1    | WARNING: no logs are available with the 'db' log driver
nacos2    | WARNING: no logs are available with the 'db' log driver

访问 http://localhost:8848/nacos 如果没有结果可以再等会儿。

默认用户名和密码都为nacos

d752f784349683ad2193fe7262b6aa2a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值