docker 環境下 discuz 的備份與遷移
阿新 • • 發佈:2018-12-14
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