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

相关推荐
Cry丶2 分钟前
一次 FTP 上传引发 504 Gateway Timeout 的排查复盘
java·nginx·ftp·openresty·被动模式·504 gateway·生产问题排查
码农进化录8 分钟前
Java 程序员的 AI 进化论 | AI 辅助 CI/CD,让 AI 帮你做代码审查和部署决策
java·spring boot·openai
zyplayer-doc10 分钟前
企业文档的进化:网盘和在线文档的下一个升级方向—知识库系统
java·大数据·数据库·人工智能·ocr
吃饱了得干活14 分钟前
从零设计一个高并发点赞系统:缓存+MQ异步持久化实战
java·架构
奇牙coding20 分钟前
gpt-5.6-luna 调用报 400 bad_request 怎么办?同样的 messages 在 gpt-5.5 没问题——两处校验差异和修复写法
java·windows·gpt·ai
凤山老林36 分钟前
从“无法创建本地线程“异常说起:深度解析线程栈与JVM线程优化指南
java·开发语言·jvm
未来可期丶1 小时前
【开发环境】Windows+Docker Desktop+WSL2最佳实践
windows·docker·docker desktop·wsl2
聚美智数1 小时前
常见疾病查询-疾病症状—疾病介绍-疾病大全-疾病治疗查询API接口介绍
android·java·数据库
慧都小妮子1 小时前
Aspose.Words for JasperReports v26.6 发布,底层Java大升级
java·pdf·报表工具·aspose.words·文档转换·报表导出·jasperreports
白宇横流学长1 小时前
基于SSM医院电子病历管理系统的设计与实现
java