docker-compose搭建nacos集群
admin
2024-01-29 09:40:56
0

目录

  • 配置配置
    • 创建目录
    • 配置custom.properties
    • 配置nacos配置信息
    • 配置docker-compose.yml
    • 配置nginx的nginx.conf
    • 目录的效果图
  • 启动docker-compose
  • 总结

        本文是通过docker-compose在linux配置nacos高可用集群。前提条件是系统中需要安装docker和docker-compose。

配置配置

创建目录

mkdir -p data/cluster-logs/nacos1;
mkdir -p data/cluster-logs/nacos2;
mkdir -p data/cluster-logs/nacos3;
mkdir -p data/init.d;
mkdir -p env/;

配置custom.properties

        在data/init.d目录下配置custom.properties文件。

#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

配置nacos配置信息

        在env目录下配置nacos-hostname.env,MYSQL_SERVICE_HOST中填写当前服务对应的ip。

#nacos dev env
PREFER_HOST_MODE=hostname
NACOS_SERVERS=nacos1:8848 nacos2:8848 nacos3:8848
MYSQL_SERVICE_HOST=$host
MYSQL_SERVICE_DB_NAME=nacos
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=root
MYSQL_SERVICE_PASSWORD=123456
JVM_XMS=512m
JVM_XMX=512m
JVM_XMN=256m
JVM_MS=64m
JVM_MMS=128m

        在env目录下配置mysql.env。

MYSQL_ROOT_PASSWORD=123456
MYSQL_DATABASE=nacos
MYSQL_USER=root
MYSQL_PASSWORD=123456

配置docker-compose.yml

version: "3"
services:nacos1:hostname: nacos1container_name: nacos1image: nacos/nacos-server:latestvolumes:- ./data/cluster-logs/nacos1:/home/nacos/logs- ./data/init.d/custom.properties:/home/nacos/init.d/custom.propertiesports:- 8811:8848- 9811:9848- 9812:9849env_file:- ./env/nacos-hostname.envrestart: alwaysnetworks:- nacosnacos2:hostname: nacos2image: nacos/nacos-server:latestcontainer_name: nacos2volumes:- ./data/cluster-logs/nacos2:/home/nacos/logs- ./data/init.d/custom.properties:/home/nacos/init.d/custom.propertiesports:- 8822:8848- 9822:9848- 9823:9849env_file:- ./env/nacos-hostname.envrestart: alwaysnetworks:- nacosnacos3:hostname: nacos3image: nacos/nacos-server:latestcontainer_name: nacos3volumes:- ./data/cluster-logs/nacos3:/home/nacos/logs- ./data/init.d/custom.properties:/home/nacos/init.d/custom.propertiesports:- 8833:8848- 9833:9848- 9834:9849env_file:- ./env/nacos-hostname.envrestart: alwaysnetworks:- nacosnacos-nginx:networks:- nacoscontainer_name: nacos-nginximage: nginxvolumes:- ./nginx/nginx.conf:/etc/nginx/nginx.confports:- 8848:80depends_on:- nacos1- nacos2- nacos3
networks:nacos:external: false

配置nginx的nginx.conf

        在nginx/目录下配置nginx.conf文件。

# 用户组
user  nginx;# 工作进程数
worker_processes  1;# 日志路径和日志级别
error_log  /var/log/nginx/error.log warn;# 进程文件路径
pid        /var/run/nginx.pid;events {# 设置网路连接序列化accept_mutex on;# 一个进程是否同时接受多个网络连接multi_accept on;# 事件驱动模型use epoll;# 最大连接数worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;# 自定义服务日志格式log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';# 是否开启服务日志access_log  /var/log/nginx/access.log  main;# 是否开启高效文件传输模式sendfile        on;#tcp_nopush     on;# 长连接超时时间keepalive_timeout  65;# 响应客户端的超时时间send_timeout 75;#gzip  on;include /etc/nginx/conf.d/*.conf;#这里配置nacos的ip:端口,因为nginx和nacos在同一个网络下,这里可以用服务名访问upstream nacosUrl {server nacos1:8848 weight=1 max_fails=2 fail_timeout=10s;server nacos2:8848 weight=1 max_fails=2 fail_timeout=10s;server nacos3:8848 weight=1 max_fails=2 fail_timeout=10s;}server{listen 80; #nginx监听的端口server_name 10.10.20.100; #iplocation / {root   /usr/share/nginx/html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}location /nacos {proxy_pass http://nacosUrl/nacos;#proxy_set_header Host $host;#proxy_set_header X-Real-IP $remote_addr;#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#proxy_set_header REMOTE-HOST $remote_addr;#add_header X-Cache $upstream_cache_status;#add_header Cache-Control no-cache;}}
}

目录的效果图

tree

        最后目录的效果图,如下:

.
├── data
│   ├── cluster-logs
│   │   ├── nacos1
│   │   ├── nacos2
│   │   ├── nacos3
│   │   └── test_nacos
│   └── init.d
│       └── custom.properties
├── docker-compose.yml
├── env
│   ├── mysql.env
│   └── nacos-hostname.env
└── nginx└── nginx.conf

启动docker-compose

docker-compose up -d

总结

        至此,通过docker-comopose搭建nacos集群成功。通过访问如下url:http://ip:8848/nacos、http://ip:8811/nacos、http://ip:8822/nacos、http://ip:8833/nacos,判断是否启动nacos成功。

相关内容

热门资讯

装载8000万桶原油的超级油轮... 6月19日,财闻海外资讯消息,载有近8000万桶石油的超级油轮正停泊在波斯湾,一旦交易商和船东发出指...
原创 刚... 法国总统马克龙最近的状态,用一句哭笑不得来形容再贴切不过。原本他一门心思准备在对华贸易议题上做文章,...
惠誉:将宁德时代的发行人主体评... 6月18日,惠誉国际评级有限公司(下称“惠誉”)上调宁德时代(300750.SZ/03750.HK)...
临商银行“临商红”青年志愿服务... 为大力弘扬践行沂蒙精神,临商银行联合市委金融工委、市委市直机关工委、共青团临沂市委共同打造了“临商红...
SpaceX 上市:SPCX ... EBC Financial Group 自开盘起即向全球交易者提供双向交易通道,参与这一史上最大规模...
甘肃电气集团长开公司荣获202... 近日,在2026年度中国中压电器行业权威评选活动中,甘肃电气集团长开公司荣获中国中压电器市场“卓越贡...
是80%的工位面向海景,马岩松... 腾讯总部园区 摄影:张超 深圳大铲湾,腾讯总部园区“企鹅岛”于5月底首次面向公众开放。 三座由马岩松...
日本经济专家:加息难以扭转日元... 日本央行近日宣布将政策利率自0.75%上调至1.0%,为31年来最高水平。日本经济专家认为,目前日元...
黄金跌2%失守4130美元,白... 6月19日午间,黄金白银仍未止跌。截至13时,现货黄金跌2%,报4124.57美元/盎司,失守413...
原创 中... 2026年6月这个节点意味格外不同。4月伊朗与以色列那场脆弱的停火刚撑了不到两个月,6月8日两边又对...
Manus回购方案浮出水面:中... 文 | 强调Next 据外媒The Information6月18日报道,Manus的早期中国投资...
2026黄金回收避坑,郑州72... 来源:黄冈新闻网 一、郑州黄金回收市场现状与高价引流投诉占比 据郑州市 12315 消费维权平台 2...
原创 房... 2026年6月16日国家统计局公布的5月份70城房价数据显示,一线城市新建商品住宅环比上涨,二三线城...
“生活成本太高了!”全球多地年... “白天当会计,晚上跑网约车,周末送外卖,假期摆地摊……” 如今,这种“1+N”(“主业+副业”)的多...
字节之后,天数智芯的下一个客户... 今年预计交付5万片,销售部门或迎来一轮调整|图源:豆包AI 作者/ IT时报 毛宇 编辑/ 郝俊慧 ...
聚焦尾货赛道!佛山(高明)“泛... 6月18日下午,佛山(高明)“泛家居国际尾货直播基地”项目合作签约仪式在高明鸿创数字科技产业园举行。...
流量退潮,文娱市场终于“醒”了 近段时间,一场场舆论风波在文娱市场激起千层浪。老牌综艺《奔跑吧》深陷口碑泥潭,常驻嘉宾白鹿被“考古”...
原创 世... 三十年前的世界五百强榜单,中国只有3家企业上榜,隔壁日本整整149家,美国151家。那时候的世界五百...
第四套人民币小全套伍元、贰元、... 第四套人民币小全套伍元、贰元、壹圆纸币收藏鉴赏 第四套人民币是我国改革开放时代的标志性货币,承载了八...
感觉血糖还行就没事?不重视这五... 很多糖友觉得,只要平时测的血糖值看着“还行”,身体也没什么不舒服,就万事大吉了。 这是一个要命的误区...