docker nacos集群部署

参考

  1. Nacos高可用集群解决方案-Docker版

  2. 官方
    https://nacos.io/zh-cn/docs/quick-start-docker.html

    https://github.com/nacos-group/nacos-docker

我的 nacos安装前环境 :

  1. ubunt16.04LTS 云服务器两台
  2. docker 已部署好( docker安装 )
  3. docker 已经安装好mysql(docker安装mysql
  4. docker中已经拉取nacos
  5. 注意我的mysql使用的是5.7版本,如果使用8以上版本可能出现问题,导致配置中心无法正常工作,也就是连接不上数据库进行数据持久化,解决办法可参照其它博客,将数据库驱动修改,并添加新的驱动后重新编译

步骤

  1. 安装docker-compose 安装环境以及方式选择参考官方
    我安装时速度很慢因此使用了pip安装

    sudo apt-get install python3-pip
    sudo pip install docker-compose
    
  2. Nacos初始化SQL,默认认为高可用MySQL已经执行了初始化nacos.sql nacos.sql文件, 我的mysql没有采用集群部署

docker exec -it mysql(mysql容器名/id) bash
进入容器后登录:mysql -u root -p 
mysql> create database nacos;
mysql> use nacos;
mysql> delimiter //     ---- 修改执行语句终止符号
mysql> 语句xxxxxxx//
  1. 在主机以上创建docker-nacos文件夹

目录

 docker-nacos
    | 
    | - - init.d  两主机相同
            | -- custom.properties 两主机相同
    | --  docker-compose-nacos1.yml  两主机对应NACOS_SERVER_IP不同

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

docker-compose-nacos1.yml:(主机二只需呀修改nacos-server-ip)

version: '3' 
services:
  # nacos-server服务注册与发现,配置中心服务    
  docker-nacos-server:
    image: nacos/nacos-server:latest(镜像名)
    container_name: nacos-server-1
    ports:
      - "8848:8848"
      - "9555:9555"
    networks: 
      - nacos_net
    restart: on-failure
    privileged: true
    environment:
      PREFER_HOST_MODE: ip #如果支持主机名可以使用hostname,否则使用ip,默认也是ip
      SPRING_DATASOURCE_PLATFORM: mysql #数据源平台 仅支持mysql或不保存empty
      NACOS_SERVER_IP: 192.168.87.133 #多网卡情况下,指定ip或网卡
      NACOS_SERVERS: 192.168.87.133:8848 192.168.87.139:8848 192.168.87.135:8848 #集群中其它节点[ip1:port ip2:port ip3:port]
      MYSQL_MASTER_SERVICE_HOST: 10.2.7.29 #mysql配置,Master为主节点,Slave为从节点
      MYSQL_SERVICE_PORT: 3340
      MYSQL_SERVICE_DB_NAME: nacos
      MYSQL_SERVICE_USER: root
      MYSQL_SERVICE_PASSWORD: password
      #JVM调优参数
      #JVM_XMS:  #-Xms default :2g
      #JVM_XMX:  #-Xmx default :2g
      #JVM_XMN:  #-Xmn default :1g
      #JVM_MS:   #-XX:MetaspaceSize default :128m
      #JVM_MMS:  #-XX:MaxMetaspaceSize default :320m
      #NACOS_DEBUG: n #是否开启远程debug,y/n,默认n
      #TOMCAT_ACCESSLOG_ENABLED: true #是否开始tomcat访问日志的记录,默认false
    volumes:
      - ./cluster-logs/nacos1:/home/nacos/logs #日志输出目录
      - ../init.d/custom.properties:/home/nacos/init.d/custom.properties #../init.d/custom.properties内包含很多自定义配置,可按需配置

networks:
  nacos_net:
    driver: bridge
  1. 创建并后台运行容器

    docker-compose -f docker-compose-nacos1/2.yml up -d
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值