一、docker简单安装nacos、使用默认的Derby数据库
1、老规则咱们登录docker 官网搜索nacos再到镜像执行拉取。我这里使用默认命令
docker pull nacos/nacos-server
2、创建本地的映射文件,custom.properties,
mkdir -p /root/nacos/init.d /root/nacos/logs touch /root/nacos/init.d/custom.properties
在文件中写入以下配置
management.endpoints.web.exposure.include=*
3、创建容器并启动提供a、b两种方案
a、创建容器:使用standalone
模式并开放8848
端口,并映射配置文件和日志目录,数据库默认使用 Derby
docker run -d -p 8848:8848 -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties -v /root/nacos/logs:/home/nacos/logs --restart always --name nacos nacos/nacos-server
启动容器,命令中:68a1f5afd98是容器id
docker start 68a1f5afd98 或者 docker start nacos
b、使用docker-compose启动 docker-compose安装教程
首先配置docker-compose文件 standalone-derby.yaml
version: "2" services: nacos: image: nacos/nacos-server:latest container_name: nacos environment: - MODE=standalone volumes: - /root/nacos/logs:/home/nacos/logs - /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties ports: - "8848:8848"
启动、关闭、移除、关闭并移除命令如下:
#启动 docker-compose -f standalone-derby.yaml up #关闭 docker-compose -f standalone-derby.yaml stop #移除 docker-compose -f standalone-derby.yaml rm #关闭并移除 docker-compose -f standalone-derby.yaml down
4、访问http://localhost:8848/nacos/ 账号默认nacos、密码默认nacos
二、docker安装nacos(单机)、使用默认的mysql数据库(兼容5.8版本以下、mysql8兼容看文末方案)
1、首先拉取官方镜像。跟第一种方案1一样操作
2、配置本地映射文件。跟第一种方案2一样操作
然后是准备工作:
3、创建数据库 nacos_config
4、nacos初始化sql,需要先创建nacos数据库后,然后执行下面的Sql【nacos官网Sql】
View Code
准备完毕、继续创建docker容器
两个注意:
a、单机standalone模式默认服务器堆大小512M、注意服务器内存不足,启动后内存溢出问题。
b、单机模式中-e 添加的参数不同与集群模式,集群模式见文章结尾。
单机模式中/home/nacos/conf/application.properties 配置文件如下:
View Code
5、创建容器,这里的指定参数根据/home/nacos/conf/application.properties 配置设置的,主要是mysql配置的修改
docker run -d -p 8848:8848 \ -e MODE=standalone \ -e PREFER_HOST_MODE=hostname \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=127.0.0.1 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=root \ -e MYSQL_DATABASE_NUM=1 \ -v /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \ -v /root/nacos/logs:/home/nacos/logs \ --restart always --name nacos nacos/nacos-server
6、启动容器
docker start nacos
docker-compose启动只需要在 standalone-derby.yaml
配置文件的environment 属性中添加mysql的一些配置即可
7、访问http://localhost:8848/nacos/ 账号默认nacos、密码默认nacos
集群配置详情见Nacos集群配置参数官方文档
如果有异常有两种可能
1、mysql用户权限不足 mysql-管理命令【创建用户、授权、修改密码、删除用户和授权、忘记root密码】
2、mysql数据库连接异常,防火墙问题。docker 容器防火墙设置
3、数据库版本不兼容:Nacos 数据持久化 mysql8.0
配置文件可供参考application.properties如下:容器内路径/home/nacos/conf
View Code
服务器nacos-docker集群部署 - 简书
Nacos构建集群非docker版本
1、安装3个和3个以上的Nacos
复制nacos项目文件夹,分别命名nacos1、nacos2、naocs3
2、修改配置文件
同⼀台机器模拟,将上述三个⽂件夹中application.properties中的server.port分别改为8848、8849、8850
同时给当前实例节点绑定ip,因为服务器可能绑定多个ip(本地ip,内网ip等)
nacos.inetutils.ip-address=127.0.0.1
复制⼀份conf/cluster.conf.example⽂件,命名为cluster.conf在配置⽂件中设置集群中每⼀个节点的信息
# 集群节点配置 127.0.0.1:8848 127.0.0.1:8849 127.0.0.1:8850
3、分别启动nacos,-m参数指定为集群模式
sh startup.sh -m cluster
4、启动完成到nacos 管理台中集群管理菜单进行查看
5、项目注册到Nacos集群,逗号拼接服务地址即可
spring: cloud: nacos: discovery: server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850