前言

之前描述了如何使用docker compose部署CheveretoV4Pro版本。接上一篇

如果我们曾经已经有使用LAMP裸机安装的Chevereto,并且服务上已经有之前的配置和数据。因此我们期望可以将之前数据无损迁移到docker,不想再重新配置并且重新上传之前的数据。

如果重新部署会带来下面的一些问题:

  1. 如果我们使用了CheveretoAPI,重新安装之后用户key会重新生成并且发生变化。这样会导致之前使用的picgo无法再继续使用。需要重新进行配置。
  2. 对于之前已经引用上传图片URL网页或者文章将无法使用,需要将之前所有URL的引用重新修改。
  3. 对于原网站的一些自定义配置,需要在新的网站上重新配置,实施操作比较复杂。

迁移要求

对于之前使用LAMP部署的Chevereto的版本需要和docker部署的版本最好保持一致。数据库需要使用相同类型的数据库,并且数据库版本最好一致。

迁移说明

对于使用LAMP安装的版本,一般Chevereto主项目会放在/var/www/chevereto目录下,数据库使用本机公共mariadbmysql数据库。所以对于原始数据我们只需要将/var/www/chevereto目录下所有的文件进行拷贝,mariadbmysql数据库下的chevereto库进行拷贝备份。

原始数据准备好之后,需要按上一篇文章


进行docker compose部署,思路是将备份的项目文件放到docker镜像中的映射文件,数据导入到docker数据库中即可完成迁移。

开始迁移

备份原始数据

原始主工程备份

LAMP环境下/var/www/chevereto文件进行整体打包(目录需要根据自己的实际情况),使用tar zcvf chevereto.tar.gz /var/www/chevereto将压缩好的压缩包从原主机进行导出。

原始工程数据库备份

使用下面命令对数据库进行备份:

#-p密码,这里没有空格,-p和密码是连载一起的,chevereto代表,图床数据库
mysqldump -u root -p密码 --databases chevereto  > cheveretodata.sql

完成备份之后将cheveretodata.sql数据库文件进行导出。

准备新的docker部署环境

使用之前文章进行完整部署,相当于借鸡生蛋的一个过程。部署完成后不需要网页访问后台进行安装,只需要启动服务即可。启动服务可以看到有两个镜像在运行如图所示:

image-20250113090705815

恢复主工程

将备份工程的压缩文件chevereto.tar.gz解压到stack/data/app目录中。

恢复数据库数据

命令:cat cheveretodata.sql |docker exec -i chevereto-db-1 /usr/bin/mysql -u root --password=password chevereto

重启镜像

命令:docker compose down && docker compose up -d

总结

本篇主要描述cheveretoLAMP环境迁移到docker环境的需求,注意事项,思路和方法。

--EOF

最后修改:2025 年 01 月 13 日
如果觉得我的文章对你有用,请随意赞赏