【问题总结】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

难点和坑点预览

  1. 需要重新打包nacos,构建dockerfile
  2. nacos原生支持mysql,postgressql需要添加插件(plugins
  3. (坑点)数据库需要添加新的字段
  4. 。。。。

构建Docker镜像

参考github上找到的大佬方案进行修改,修改后也分享给大家gitee仓库

使用指南如下:

  1. 将gitee仓库文件下载到本地(插件已经准备好了

  2. 考虑到外网访问可能导致镜像构建失败,直接前往官方地址手动下载对应的nacos版本

    【问题总结】Docker环境下,将Nacos版本2.0.4升级到2.2.3,操作留档 以及 踩坑记录_第1张图片

  3. 下载tar文件放置到根目录下,比如

    【问题总结】Docker环境下,将Nacos版本2.0.4升级到2.2.3,操作留档 以及 踩坑记录_第2张图片

  4. 执行指令构建镜像

    docker build -t pg-nacos:2.2.3 .
    

运行镜像

  1. 进入compose路径下,里面有准备好的compose文件和配置文件

  2. 在启动之前记得先配置自己的数据库路径(application.properties)

    【问题总结】Docker环境下,将Nacos版本2.0.4升级到2.2.3,操作留档 以及 踩坑记录_第3张图片

坑点排坑

一、旧版本的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进行数据库初始化即可

你可能感兴趣的:(备忘录,问题总结,docker,容器,运维)