先登录原服务器的禅道网站,去到后台——系统——数据界面查看禅道备份位置,如笔者的备份位置在/opt/zbox/app/zentao/tmp/backup/
记住最新的备份文件,也可以点击开始备份,备份一个此时此刻的数据文件,数据备份文件一般有三个,笔者这里最新的数据备份文件是今天早上5点20禅道自动备份的数据,分别是202211230520023.file、202211230520023.code、以及202211230520023.sql.php,将最新的数据备份文件打个包:
#进入备份目录,并打个tar包
cd /opt/zbox/app/zentao/tmp/backup/
tar -zcf 202211230520023.tar.gz 202211230520023.code 202211230520023.file 202211230520023.sql.php
将tar包传输到容器部署禅道的服务器上,如IP地址为192.168.7.100的服务器上:
scp 202211230520023.tar.gz root@192.168.7.101:/root/
输入密码后传输成功。
进入192.168.7.100服务器,拉取zentao镜像,并创建zentao容器:
#拉取zentao镜像
docker pull easysoft/zentao:latest
#创建zentao容器
docker run -itd --name zentao --restart=always -v /home/zentao/backup:/www/zentaopms/tmp/backup -p 81:80 easysoft/zentao:latest
#其中是将容器的80端口映射到主机的81端口上,zentao网页是通过访问主机的IP+81端口对外提供服务的。并且将zentao容器的默认数据备份目录挂载到真机的/home/zentao/backup目录上
登录zentao网站,点击开始安装
设置数据库密码
填写公司信息
根据自己设置的用户密码登录禅道
进入后台——系统——数据界面,此刻禅道中并没有任何数据
将之前准备的数据备份tar包解压到容器挂载的真机目录里
tar -xf /root/202211230520023.tar.gz -C /home/zentao/backup/
#ls查看目录,会看到三个文件,分别是file目录、code目录以及sql.php文件
回到禅道web界面,刷新网页,会看到刚刚解压的数据文件已经显示出来了
点击右侧的“还原”,就完成了原数据迁移到zendao容器的所有步骤了。
注意,使用的docker镜像是zendao官方发布的easysoft/zentao:latest ,其他zendao镜像的数据备份目录可能会不一样,需要根据实际情况在创建容器时挂载相应的目录。