起因
由于我有一套公共的基础服务,所以官方的1.5.X版本的docker-compose不能直接使用。我就摸索着直接创建独立的Halo容器,然后使用command配置mysql与redis的地址,以为这样就完事了。
项目也正常启动了,按捺不住我激动的心情,直接开始了配置!
这一配置就不对劲了。我明明改了很多东西的,但是mysql库中连一张表都没有!渐渐地,我发现了data文件夹中的db文件夹,它居然存在本地了?!!
更要命的是,*.db文件,完全不知道这是啥数据库,Navicat和DataGrip根本打不开。。
不过,偶然发现容器里面竟然是SpringBoot架构的!赶紧去下了源码。
源码就清晰多了,1.5.X配置文件中只设置了H2库的连接方式,根本就没有Mysql连接方式!也不知道官网的docker-compose是怎么通过测试的
于是看了官网的docker命令启动方式,发现只要在data目录下放个SprintBoot的配置文件即可
操作
备份数据
后台管理 -> 系统 -> 小工具 -> 博客备份,三个都备份一下吧
上传SpringBoot配置
将application.yaml文件上传至data文件夹内,具体流程可以看这篇文章 -> Halo系列——搭建与林汐小栈同款博客
重启Halo容器
在docker-compose.yml目录下运行sudo docker-compose down成功停止后,运行sudo docker-compose up -d即可
初始化数据
重新进入blog之后,他会让你重新配置服务器数据。
不要慌,我们只要点击第二个tab,恢复一下之前备份的那个json文件即可
至此,完成H2库至Mysql库的迁移~


评论区