参考
我的 nacos安装前环境 :
- ubunt16.04LTS 云服务器两台
- docker 已部署好( docker安装 )
- docker 已经安装好mysql(docker安装mysql)
- docker中已经拉取nacos
- 注意我的mysql使用的是5.7版本,如果使用8以上版本可能出现问题,导致配置中心无法正常工作,也就是连接不上数据库进行数据持久化,解决办法可参照其它博客,将数据库驱动修改,并添加新的驱动后重新编译
步骤
-
安装docker-compose 安装环境以及方式选择参考官方
我安装时速度很慢因此使用了pip安装sudo apt-get install python3-pip sudo pip install docker-compose
-
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//
- 在主机以上创建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
-
创建并后台运行容器
docker-compose -f docker-compose-nacos1/2.yml up -d