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成功。

相关内容

热门资讯

原创 4... 写在文章前的声明:在本文之前的说明:本文中所列的投资信息,只是一个对基金资产净值进行排行的客观描述,...
胜宏科技港股大涨49% 做完英... 记者 陈月芹 4月21日,全球AI算力板龙头胜宏科技(02476.HK)登陆港交所,上市首日股价大涨...
永赢基金:聚焦“科技新锐”,科... 数据来源:Wind,时间统计区间为2025/1/1-2026/4/21,指数过往表现不预示未来,不构...
五大阅读趋势显现!当当网发布2... 在第31个世界读书日即将来临之际及首个全民阅读活动周期间,当当网正式发布2026国民阅读洞察报告。 ...
业绩逐季回暖 老百姓大药房一季... 上证报中国证券网讯(记者 夏子航)4月22日晚,老百姓大药房发布2025年年报和2026年一季报。今...
中国20强城市大洗牌:苏州接近... 中国的城市经济竞争格局一直在变化,每年发布的GDP数据都会对城市经济实力进行重新排列。2025年榜又...
直击金宏气体股东会:预期年内氦... 《科创板日报》4月22日讯(记者 郭辉)金宏气体日前举行2025年度股东大会。会上该公司审议了公司年...
5月1日起,俄据悉将叫停哈萨克... 据行业消息人士透露,俄罗斯将于5月1日起停止经友谊管道转运哈萨克斯坦输往德国的石油,相关调整计划已送...
深化具身智能生态布局 京东携手... 4 月 22 日,京东与国内消费级人形机器人头部企业松延动力正式达成三年期战略合作。双方将围绕产品研...
原创 帮... 先问你一个问题,美伊停火今晚到期,按常理避险情绪该升温,黄金应该涨吧?结果恰恰相反——原油涨了,黄金...
300295、600889,将... 三六五网、南京化纤,将被*ST。 公司股票自4月23日开市起停牌一天,于4月24日开市起复牌并实施退...
能源大变天!外媒:羡慕中国的石... 这一次油价突破 110 美元的能源危机,着实魔幻。如果放在十年前,没人会相信中国能在这场风波中获利,...
黄金涨跌两难,现在还能上车吗? 中新网4月22日电(记者 左雨晴) 四月以来,美伊局势反复拉扯,美联储降息预期一变再变。黄金价格在4...
“我身体健康”,库克现身员工大... 当地时间4月21日,受苹果官宣CEO换届影响,公司股价盘中下探超2%,总市值失守4万亿美元关口,收盘...
库克留下一个悬念 工程师能否拯救创新节奏? 听筒Tech(ID:tingtongtech)原创 文 | 赵 森 ...
探索消费信贷与社交支付深度融合... 腾讯这一金融产品再添新功能,4月19日,北京商报记者注意到,微信分付灰度测试转账功能引发热议,在向微...
土耳其主要银行股指早盘下跌2% 每经AI快讯,4月20日,土耳其主要银行股指早盘下跌2%。 每日经济新闻
好用的OTA代运营源头厂家 在如今竞争激烈的酒旅行业中,OTA代运营服务成为了众多酒店、民宿提升竞争力的关键。但市场上的代运营厂...
成都五一出游全国热门第三 “五一”假期临近,同程旅行最新发布的《2026“五一”旅行趋势报告》显示,今年“五一”期间成都同时位...