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容器

相关推荐
Joy T8 小时前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
像风一样自由202011 小时前
52.Docker部署大模型应用从本地开发到服务化运行
运维·人工智能·docker·容器·大模型·智能体
m0_5873830011 小时前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
·云扬·12 小时前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
代码不停13 小时前
自动化测试(java)
java·开发语言·selenium·自动化
鬼手点金14 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
paopaokaka_luck15 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
江湖有缘15 小时前
Docker实战 | 使用Docker部署rmoments社交平台
jvm·docker·oracle
Wang's Blog16 小时前
Java 项目实战: 交友项目 - Dubbo 的内部结构与一次调用的完整链路
java·dubbo
Wang's Blog16 小时前
Java 项目实战: 交友项目 - Dubbo 入门引导
java·dubbo·交友