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

相关内容

热门资讯

蜻蜓订购APP贵金属订购非法期...   蜻蜓订购APP以"投资平台"名义对外宣传,主打贵金属期货(订购)交易。该平台一方面强调自身"正规...
悟空订购APP非法期货交易欺骗...   近期,有投资者反映,“悟空订购APP”等平台以白银、贵金属订购为名,宣传所谓“高收益”“低门槛”...
小赢淘金APP期货投资骗局,平...   “小赢淘金”之流,最擅长的就是用“注册送现金”、“充值返券”的糖衣炮弹来引流。别天真地以为那是福...
八方淘金APP非法期货交易欺骗...   警惕!八方生财、每日淘金、小赢淘金、悟空订购、蜻蜓订购、斗金订购等APP均涉嫌非法期货交易!  ...
智易购APP贵金属订购交易骗局...   很多人看到“3元起投”“充值送福利”“操作简单”“随时提现”这类宣传,很容易把智易购APP当成普...
喜玛银庄APP商品订购投资骗局...   喜玛银庄APP白银、铂金“现货订购”骗局警示:无资质平台涉嫌非法期货交易,投资者爆仓后如何维权?...
吉鑫乐享APP炒贵金属订购交易...   近期,多名投资者反映在“吉鑫乐享APP”进行贵金属投资时遭遇严重亏损,甚至血本无归。看似正规的“...
易掘金APP虚假期货投资骗局,...   “易掘金”的APP它打着“高收益、灵活投资”的旗号,宣称通过“商品订购”就能轻松赚钱,吸引了不少...
在大吉订购APP订购交易亏损被...   近期,不少投资者反映在“大吉订购App”上投资白银、铂金等商品遭遇严重亏损。该平台宣称提供现货订...
铂银壹号APP商品订购交易亏损...   许多中小投资者误以为网上的“商品现货订购”是合规合法的理财渠道,殊不知这背后隐藏着巨大的合规风险...
兴鑫淘金APP贵金属订购交易亏...   白银、贵金属或其他商品类投资,除国家批准的正规期货交易场所及持牌期货公司外,市面上大量第三方交易...
铂银掘金APP无资质的违规平台...   铂银掘金等平台的投资者,往往是被“注册送现金”“充值返现券”“首单免亏”等广告话术吸引,进而下载...
八方淘金APP订购交易不合规,...   “八方淘金APP”“铂银掘金APP”“铂银壹号APP”等软件被指以“现货订购”为名,实际采用高杠...
在指尖订购APP订购商品亏损被...   指尖订购APP这类平台,表面是“订购交易”,实则是披着电商外衣的非法期货陷阱。绝大多数投资者被蒙...
在犀贝易购APP做商品订购交易...   市面上打着“现货投资”“贵金属交易”旗号的APP并不少,但真正合规、受监管的平台并不多。犀贝易购...
易达淘金APP虚假商品订购交易...   易达淘金APP存在严重的虚假宣传与违规交易行为。该平台打着“商品订购”的旗号,实则通过不合规的交...
大浪淘金APP白银订购亏损被骗...   大浪淘金APP最隐蔽的套路,在于其完全封闭的内盘交易系统。表面上,它宣称与国际贵金属市场接轨;实...
一品好购APP上订购白银出现亏...   一品好购APP原名“一品订购”,运营方为上海宝智未来信息技术有限公司。近期不少投资者反映在该平台...
九州订购APP贵金属订购投资骗...   九州订购APP正通过抖.音、快手、今日头条等平台大量投放投资广告,用“5元起投”“充值返现”“0...
坚锅淘金APP交易软件并不正规...   当前,市面上大量所谓的“现货商城订购”交易软件,早已偏离了正常的实物商品买卖,演变为高杠杆、高手...