1. 程式人生 > >docker 環境下 discuz 的備份與遷移

docker 環境下 discuz 的備份與遷移

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 
[email protected]
:/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

10.匯入資料庫檔案,discuz 遷移完成