禅道社区版 Docker Compose 服务迁移教程

本教程基于 5分钟搞定!用Docker一键部署禅道项目管理系统,团队协作效率翻倍 所采用的禅道社区版 Docker Compose 部署方式,适用于将服务从旧服务器迁移到新服务器,确保数据完整、服务可恢复、操作可审计。


🧱 一、原始部署结构回顾

根据该文档,禅道部署结构如下:

  • 使用 easysoft/zentao 官方镜像
  • 宿主机挂载数据卷到容器 /opt/zbox/app/zentao/www/data
  • 使用 docker-compose.yml 管理服务
  • 数据库为内嵌 MySQL,无需额外容器

📦 二、旧服务器备份步骤

✅ 1. 停止服务(可选)

bash 复制代码
docker compose down

或保持运行状态备份。

📁 2. 备份数据目录

bash 复制代码
docker cp zentao:/opt/zbox/app/zentao/www/data /opt/migration-backup/data

🗃️ 3. 备份数据库(容器内执行)

bash 复制代码
docker exec -it zentao /bin/bash
cd /opt/zbox/run/mysql/
./mysqldump -u root -p zentao > /home/zentao.sql
exit
docker cp zentao:/home/zentao.sql /opt/migration-backup/zentao.sql

默认密码为 123456,可通过 .env 或容器日志确认。


🚚 三、迁移到新服务器

🔐 1. 安装 Docker 和 Docker Compose

bash 复制代码
curl -fsSL https://get.docker.com | bash
sudo apt install docker-compose -y

📤 2. 传输备份文件

bash 复制代码
rsync -avz /opt/migration-backup/ user@new-server:/opt/migration-backup/

🧾 四、新服务器恢复服务

📂 1. 准备目录结构

bash 复制代码
mkdir -p ~/zentao
cd ~/zentao
cp /opt/migration-backup/zentao.sql .
cp -r /opt/migration-backup/data ./data

🧱 2. Compose 文件参考博客

5分钟搞定!用Docker一键部署禅道项目管理系统,团队协作效率翻倍

可根据原文档调整镜像版本和端口映射。

🚀 3. 启动服务

bash 复制代码
docker compose up -d

🧨 4. 导入数据库(容器内)

bash 复制代码
docker cp zentao.sql zentao:/home/zentao.sql
docker exec -it zentao /bin/bash
cd /opt/zbox/run/mysql/
./mysql -u root -p zentao < /home/zentao.sql

🔍 五、验证与回滚机制

🧪 验证服务运行状态

bash 复制代码
docker compose ps
docker logs zentao

访问 http://<new-server-ip> 检查页面是否正常。

🔁 回滚建议

保留原始 docker-compose.ymlzentao.sql,如需回滚:

bash 复制代码
docker compose down
docker compose -f docker-compose.backup.yml up -d

🧰 六、进阶建议

功能 建议做法
数据备份 每日定时 mysqldump + rsync 到远程
容器健康检查 添加 healthcheck 保证启动顺序
权限管理 显式设置 UID:GID,避免权限错误
自动化恢复 编写一键恢复脚本,包含日志和错误处理
审计记录 所有迁移操作记录到 /opt/migration-backup/logs/

📘 示例项目结构参考

复制代码
~/zentao/
├── docker-compose.yml
├── zentao.sql
└── data/
相关推荐
Yana.nice2 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
2601_960567965 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧6 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
张忠琳6 小时前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
HiDev_6 小时前
【非标自动化】2、认识元器件(确定目标)
运维·自动化
Zhang~Ling7 小时前
从 fopen 到 struct file:从零开始拆解 Linux 文件 I/O
linux·运维·服务器
爱写代码的森7 小时前
蒙三方库 | harmony-utils之FileUtil文件重命名与属性查询详解
linux·运维·服务器·华为·harmonyos·鸿蒙·huawei
Elastic 中国社区官方博客7 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
中微极客7 小时前
2026主流AI Agent框架技术选型与性能对比
运维·网络·人工智能
久曲健的测试窝8 小时前
智能座舱自动化测试落地方案:数字仿真搭配实车实测,解决用例运维与场景失真难题
运维