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