Nacos docker 版本配置kingbase 人大金仓 达梦 数据库
Nacos docker 版本配置kingbase 人大金仓数据库 达梦
nacos插件jar放到网盘了,博客需要会员才能下载。如果这篇博文被设置vip了,也不是我设置的,系统自动的,改不了。网盘里有配置文档,可直接看。
链接: https://pan.baidu.com/s/1XAZFqDkGpeWllJIeOb1VxA?pwd=pajb 提取码: pajb
公司项目需要适配kingbase人大金仓数据库,除了项目适配,微服务使用到的nacos也需要适配。查找了两天资料终于解决。
参考资料:(可行)https://blog.csdn.net/byzxedu/article/details/128626240
这个作者的简单,直接引入kingbase8的jar包。但是nacos2.4.2 和2.5.1不行,一直报错。
使用nacos3.0.0 这个作者的方案和我的方案都没问题。kingbase8 驱动包放网盘了
)
我这里使用了nacos官方插件。
github地址:https://github.com/nacos-group/nacos-plugin/tree/develop/nacos-datasource-plugin-ext
使用了里面的kingbase源码。也有达梦的插件。下面主要讲kingbase配置。(达梦配置原理是一样的,未实现)
步骤一 打包nacos kingbase插件
可略过步骤一直接下载网站中的jar包
按方法二将nacos-kingbase 插件打包。
拉取源码,打开idea对nacos-plugin整体打包,也可以单独对nacos-kingbase-datasource-plugin-ext打包
我这里单独打包报错,所以整体打包了。pom文件中kingbase8配置是8.6.0 ,我的数据库需要9.0.0
驱动。这里提供两个打包号的jar包,在网盘自行下载。
打包完成
nacos-kingbase-datasource-plugin-ext/target/nacos-kingbase-datasource-plugin-ext-1.0.0-SNAPSHOT.jar
步骤二 准备nacos 配置文件
插件源码:https://github.com/nacos-group/nacos-plugin/tree/develop/nacos-datasource-plugin-ext/nacos-kingbase-datasource-plugin-ext
上传文件配置文件和jar包
可直接下载网盘文件上传,目录地址/data/nacos/可修改为自定义。
-
linux服务器创建/data/nacos/plugins/datasource/
将步骤1 打包好的jar或网盘jar上传到此目录。 -
将网盘中application.properties 上传到/data/nacos/properties、application.properties 。
-
也可以启动docker后从容器内复制文件。可跳过此步骤
启动常规 nacos docker 的命令:
docker run -d \--name nacosry \-e MODE=standalone \-e NACOS_AUTH_ENABLE=true \-e NACOS_AUTH_TOKEN=VGhpcyIsYU5BTkNPU1NFUlZJQ0VOVEVSTkFMRUJhc2U2NC5 \-e NACOS_AUTH_IDENTITY_KEY=NacosKey2025 \-e NACOS_AUTH_IDENTITY_VALUE=SecureValue@18848 \-p 8848:8848 \-p 9848:9848 \-p 9849:9849 \-v /data/nacos/data:/home/nacos/data \-v /data/nacos/logs:/home/nacos/logs \-d nacos/nacos-server:v2.3.0
这里使用的是nacos2.3.0 ,试过2.4.2 和2.5.1 能启动,但是添加配置报sql语法错误,最后没解决。直接使用nacos2.3.0 。
创建/data/nacos/properties/目录,复制容器内配置文件到此目录
docker cp nacosry:/home/nacos/conf/application.properties
/data/nacos/properties/application.properties
其中application.properties参考上图官方配置,配置如下:
spring.sql.init.platform=mysql
db.pool.config.driverClassName=com.kingbase8.Driver
db.num=1
db.url.0=jdbc:kingbase8://[ip]:54322/ry-cloud?currentSchema=ruoyi-config,sys_catalog&?allowEncodingChanges=true&cli
entEncoding=UTF8
db.user.0=system
db.password.0=
spring.sql.init.platform=mysql 这个配置写的是mysql,实际上在此处与mysql无关,仅仅表示为使用外部数据库来存储nacos数据。如果按照官方kingbase来写,也会出现添加配置报错的问题。
这里的kingbase 数据库已经提前安装好,配置nacos数据库配置使用kingbase工具直接迁移了。也可以使用插件中schema/nacos-kingbase.sql文件初始化数据库
步骤三 启动nacos docker
docker kingbase 运行命令:
docker run -d \--name nacosry \-e MODE=standalone \-e NACOS_AUTH_ENABLE=true \-e SPRING_DATASOURCE_PLATFORM=kingbase8 \-e NACOS_AUTH_TOKEN=VGhpcyIsYU5BTkNPU1NFUlZJQ0VOVEVSTkFMRUJhc2U2NC5 \-e NACOS_AUTH_IDENTITY_KEY=NacosKey2025 \-e NACOS_AUTH_IDENTITY_VALUE=SecureValue@18848 \-p 8848:8848 \-p 9848:9848 \-p 9849:9849 \-v /data/nacos/data:/home/nacos/data \-v /data/nacos/logs:/home/nacos/logs \-v /data/nacos/plugins:/home/nacos/plugins \-v /data/nacos/properties/application.properties:/home/nacos/conf/application.properties \nacos/nacos-server:v2.3.0
docker logs nacos #查看运行日志,启动成功。配置完成
访问nacos
http://[ip]:8848/nacos/
docker 的一些基础命令,下面的nacos是容器名
docker exec -it nacos /bin/bash #进入容器
exit #退出容器
docker logs nacos #查看日志
docker start nacos #启动nacos
docker topnacos #停止nacos
docker restart nacos #重启nacos
docker rm nacos #删除容器