wf-docker集群搭建(未完结)

系列文章目录


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言


一、redis集群

二、mysql集群

三、nacos集群

采用Nginx+域名模式进行搭建Nacos2.0.3 三节点的高可用集群

1. 环境要求

一台nginx,3台nacos

系统 ip 插件
centos7 192.168.0.2 docker、docker-compose、nginx
centos7 192.168.0.2 docker、docker-compose、nacos
centos7 192.168.0.3 docker、docker-compose、nacos
centos7 192.168.0.203 docker、docker-compose、nacos

2. 拉取镜像

2.1. 拉取镜像方式配置集群

基于Docker搭建Nacos高可用集群

KubeSphere 和 知名开源项目 Pig 最佳实践

2.2. 自定义nacos镜像配置集群

本文采用自定义nacos镜像部署nacos集群

代码https://gitee.com/bjh1993/wf/tree/master/wf-register

3 自定义Docker网络

shell 复制代码
sudo docker network create --driver bridge --subnet 172.18.0.0/16 --gateway 172.18.0.1 wfnet
###说明:wfnet是docker自定义的网络名称,此处的172.18可以自定义,不冲突即可

启动docker后:docker默认网络有3个,无法删除

4 添加Nacos的环境变量

#以192.168.0.2为例:

shell 复制代码
#新建目录(可以自定义) 若干 :
mkdir  /data/nacos-docker/ -p 
mkdir  /data/nacos-docker/env/ -p
mkdir  /data/nacos-docker/init.d/ -p

cd /data/nacos-docker/env/
vim nacos-ip.env

在/data/nacos-docker/env/目录下新建nacos-ip.env文件,内容如下:

shell 复制代码
#nacos dev env#如果支持主机名可以使用hostname,否则使用ip,默认也是ip
#PREFER_HOST_MODE=ip
PREFER_HOST_MODE=hostname 
MODE=cluster
#多网卡情况下,指定ip或网卡
NACOS_SERVER_IP=192.168.0.2
#集群中其它节点[ip1:port ip2:port ip3:port]
NACOS_SERVERS=192.168.0.2:8848 192.168.0.3:8848 192.168.0.203:8848
#nacos的web端口,不写默认就是8848
NACOS_APPLICATION_PORT=8848
#数据源平台 仅支持mysql或不保存empty
SPRING_DATASOURCE_PLATFORM=mysql
MYSQL_SERVICE_HOST=192.168.0.2
MYSQL_SERVICE_DB_NAME=wf_config
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=wm_10088
MYSQL_DATABASE_NUM=1
#JVM调优参数
JVM_XMS=2g
JVM_XMX=2g
JVM_XMN=2g
JVM_MS=128m
JVM_MMS=320m

5.挂载nacos的配置文件

shell 复制代码
cd /data/nacos-docker/init.d
vim custom.properties

在/data/nacos-docker/init.d目录下新建custom.properties文件,内容如下:

shell 复制代码
#spring.security.enabled=false
#management.security=false
#security.basic.enabled=false
#nacos.security.ignore.urls=/**
#management.metrics.export.elastic.host=http://localhost:9200
# metrics for prometheus
management.endpoints.web.exposure.include=*

# metrics for elastic search
#management.metrics.export.elastic.enabled=false
#management.metrics.export.elastic.host=http://localhost:9200

# metrics for influx
#management.metrics.export.influx.enabled=false
#management.metrics.export.influx.db=springboot
#management.metrics.export.influx.uri=http://localhost:8086
#management.metrics.export.influx.auto-create-db=true
#management.metrics.export.influx.consistency=one
#management.metrics.export.influx.compressed=true

6.docker-compose部署nacos

shell 复制代码
cd /data/nacos-docker
vim docker-compose.yaml
shell 复制代码
#新建docker-compose.yaml文件,内容如下:
version: '3'
services:
  wf-register:
    build:
      context: /home/wf/wf-service/wf/wf-register # wf-register代码及Dockerfile地址
    restart: always
    ports:
      - "7848:7848"
      - "8848:8848"
      - "9848:9848"
      - "9555:9555"
      - "9849:9849"
    container_name: wf-register
    hostname: wf-register
    image: wf-register
    extra_hosts:
      - "wf-mysql:192.168.0.2"
    privileged: true
    networks:
      - wfnet
    volumes:
      - ./cluster-logs:/home/nacos/logs
      - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
    env_file:
      - ./env/nacos-ip.env

networks:
  wfnet:
    external: true

注:其中端口 7848、8848、9848、9849是必须要开放的端口,8848是web页面端口,7848是集群数据同步接口,9848、9849是nacos 2.0.0以上的版本必须开发的端口。

7 文件目录如下:

目录结构如下(若是自定义,请注意修改docker-compose文件中对应的路径):

3号机器启动报错

利用docker-compose编排nacos容器

相关推荐
李慕婉学姐20 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
数据皮皮侠AI1 天前
上市公司股票名称相似度(1990-2025)
大数据·人工智能·笔记·区块链·能源·1024程序员节
奋进的芋圆1 天前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin1 天前
设计模式之桥接模式
java·设计模式·桥接模式
model20051 天前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
huaweichenai1 天前
docker部署kkFileView实现文件预览功能
运维·docker·容器
荒诞硬汉1 天前
JavaBean相关补充
java·开发语言
提笔忘字的帝国1 天前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
2501_941882481 天前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈1 天前
两天开发完成智能体平台
java·spring·go