discuz 自带提供的数据库备份功能似乎只方便于原系统的数据备份与恢复,那么迁移的时候不光需要数据库的还原,还需要程序文件的迁移,使用docker情况下,本教程使用完整备份discuz数据库,拷贝docker内部程序文件的方式来迁移discuz系统。
1.进入docker容器打包程序文件
docker exec -it discuz /bin/bash
2.打包程序文件
tar -cvf html.tar html/
3.拷贝容器内部tar文件到主机
docker cp discuz:/var/www/html.tar ./
4.拷贝程序文件到新主机
scp /media/disk/discuz/html.tar root@ali:/media/disk/discuz
5.通过navicat导出discuz数据库数据结构和文件
(因为本例使用的都是discuz容器link mysql 容器方式)
6.在新主机部署新discuz docker 容器
docker run --name discuz --link mysql:mysql -p 9099:80 -d skyzhou/docker-discuz
7.在新主机解压html.tar 文件,修改内容配置文件
tar -xvf html.tar
8.修改配置文件
8.1修改config/config_global.php
8.2修改config/config_ucenter.php
8.3修改uc_server/data/config.inc.php
9.拷贝程序文件,替换新docker容器内部文件
docker exec -it discuz /bin/bash cd /var/www cp html/ html_bak/ rm -rf html/ exit tar cvf html.tar html/ docker cp html.tar discuz:/var/www docker exec -it discuz /bin/bash tar xvf html.tar