【问题总结】Docker环境下,将Nacos版本2.0.4升级到2.2.3,操作留档 以及 踩坑记录
前记,鉴于nacos暴露的验证鉴权bug(之前尝试解决但是没有完全解决!,需要对公司之前架构留下来的老版本nacos进行升级
参考资料:
https://nacos.io/zh-cn/blog/announcement-token-secret-key.html
https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
难点和坑点预览
- 需要重新打包nacos,构建dockerfile
- nacos原生支持mysql,postgressql需要添加插件(plugins
- (坑点)数据库需要添加新的字段
- 。。。。
构建Docker镜像
参考github上找到的大佬方案进行修改,修改后也分享给大家gitee仓库
使用指南如下:
-
将gitee仓库文件下载到本地(插件已经准备好了
-
考虑到外网访问可能导致镜像构建失败,直接前往官方地址手动下载对应的nacos版本
-
下载tar文件放置到根目录下,比如
-
执行指令构建镜像
docker build -t pg-nacos:2.2.3 .
运行镜像
-
进入compose路径下,里面有准备好的compose文件和配置文件
-
在启动之前记得先配置自己的数据库路径(application.properties)
坑点排坑
一、旧版本的nacos升级可能会报错字段丢失,导致无法启动
运行以下sql即可
ALTER TABLE config_info ADD COLUMN encrypted_data_key text ;
ALTER TABLE config_info_beta ADD COLUMN encrypted_data_key text ;
ALTER TABLE his_config_info ADD COLUMN encrypted_data_key text ;
缺少数据库原型也可以参考schema目录下的sql进行数据库初始化即可