升级禅道新版本
手册分类 
- 1. 禅道介绍
- 1.1 关于禅道项目管理软件
- 1.2 如何获得支持
- 1.3 各版本功能差异
- 1.4 关注我们
- 1.2 如何获得支持
- 2. 安装禅道
- 2.1. 环境搭建
- 2.1.1 搭建Ubuntu环境安装禅道
- 2.1.2 搭建Centos环境安装禅道
- 2.1.3 安装PHP的ioncube扩展
- 2.1.2 搭建Centos环境安装禅道
- 2.2. 安装禅道
- 2.2.1 选择适合您的安装方法
- 2.2.2 新版本禅道的安装升级
- 2.2.3 Win一键安装包(安装版)
- 2.2.4 Win一键安装包(免安装版)
- 2.2.5 Win一键安装包(旧版)
- 2.2.6 linux用一键安装包(免安装版)
- 2.2.7 使用源码包安装(各系统通用)
- 2.2.8 使用源码包安装(MAC系统)
- 2.2.9 基于禅道当前的一键安装包(Windows和Linux)如何源码安装旗舰版禅道
- 2.2.10 渠成命令行安装禅道
- 2.2.11 Docker和Kubernetes方式部署禅道
- 2.2.2 新版本禅道的安装升级
- 2.3 安装PHP的LDAP扩展
- 2.4 在线安装云禅道
- 2.5 安装 APCu扩展
- 2.6 安装DuckDB引擎
- 2.7. 信创支持
- 2.7.1 OceanBase数据库
- 2.8. 安装文档协同服务
- 2.8.1 安装Windows协同服务
- 2.8.2 安装Linux协同服务
- 2.1.1 搭建Ubuntu环境安装禅道
- 3. 升级禅道
- 3.1. 升级禅道新版本
- 3.1.1 选择和自己环境对应的升级方式
- 3.1.2 通过源代码方式升级(通用)
- 3.1.3 windows一键安装包的升级
- 3.1.4 linux一键安装包升级
- 3.1.5 docker安装禅道-升级禅道
- 3.1.6 旧版Docker镜像升级说明
- 3.1.7 通过Roadrunner管理定时任务
- 3.1.2 通过源代码方式升级(通用)
- 3.2 如何安装ioncube扩展
- 3.1.1 选择和自己环境对应的升级方式
- 4. 维护配置
- 4.1. 维护禅道
- 4.1.1 初始化管理脚本
- 4.1.2 备份禅道
- 4.1.3 恢复删除的资源
- 4.1.4 如何更新燃尽图
- 4.1.5 一键安装包如何实现mysql异机连接
- 4.1.6 linux一键安装包配置https
- 4.1.7 禅道一键安装包迁移/更新禅道一键安装包
- 4.8 禅道旧Windows一键安装包迁移到新Windows一键安装包的步骤
- 4.1.2 备份禅道
- 4.2. 配置禅道
- 4.2.1 设置是否允许匿名访问
- 4.2.2 如何配置email发信
- 4.2.3 如何成为超级管理员
- 4.2.4 配置禅道系统为静态访问
- 4.2.5 去掉禅道访问地址中的zentao
- 4.2.6 linux一键安装包去掉禅道访问地址中的zentao
- 4.2.7 集成禅道和svn
- 4.2.8 集成禅道和git
- 4.2.9 在第三方应用中集成禅道
- 4.2.10 第三方应用配置免密登录禅道
- 4.2.11 第三方应用集成禅道客户端进行消息通知
- 4.2.12 集成webhook
- 4.2.13 集成ZDOO
- 4.2.14 客户端集成
- 4.2.15 浏览器通知的设置
- 4.2.16 集成钉钉工作消息通知
- 4.2.17 集成企业微信应用消息通知
- 4.2.18 集成企业微信群机器人
- 4.2.19 集成飞书群机器人
- 4.2.20 集成飞书消息通知
- 4.2.21 配置飞书内的禅道单点登录
- 4.2.22 解决一键安装包密码口令弱的问题
- 4.2.2 如何配置email发信
- 4.3. 性能优化
- 4.3.1 nginx反向代理禅道502或504bad gateway错误
- 4.3.2 linux系统中配置session使用redis
- 4.3.3 缓存功能
- 4.3.2 linux系统中配置session使用redis
- 4.1.1 初始化管理脚本
- 5. 快速入门
- 5.1. 新版本快速入门
- 5.1.1 20版本禅道的新增功能
- 5.1.2 新版本禅道的最简使用
- 5.1.3 20版本禅道的界面变化
- 5.1.2 新版本禅道的最简使用
- 5.1.1 20版本禅道的新增功能
- 6. 按照角色使用
- 6.1. 管理员
- 6.2. 项目集负责人
- 6.3. 产品经理
- 6.3.1 维护模块
- 6.3.2 产品多分支/平台管理
- 6.3.3 维护计划
- 6.3.4 维护需求
- 7.4.5 需求的状态和研发阶段
- 6.3.6 创建发布
- 6.3.7 跟踪进度
- 6.3.8 反馈管理(企业版)
- 6.3.2 产品多分支/平台管理
- 6.4. 项目经理
- 6.4.1 维护项目和执行
- 6.4.2 维护团队
- 6.4.3 关联需求
- 6.4.4 跟踪进度
- 6.4.5 瀑布项目的使用
- 6.4.6. 瀑布项目
- 6.4.6.1 维护项目的计划、阶段
- 6.4.6.2 项目设计
- 6.4.6.3 项目构建
- 6.4.6.4 项目矩阵
- 6.4.6.5 项目评审
- 6.4.6.6 项目配置
- 6.4.6.7 项目报告、挣值管理
- 6.4.6.8 项目调研
- 6.4.6.9 项目估算
- 6.4.6.10 项目机会
- 6.4.6.11 项目问题
- 6.4.6.12 项目风险
- 6.4.6.13 项目培训
- 6.4.6.14 项目会议
- 6.4.6.15 项目过程
- 6.4.6.16 项目QA
- 6.4.6.2 项目设计
- 6.4.7 看板项目的使用
- 6.4.8 融合敏捷项目
- 6.4.9 融合瀑布项目
- 6.4.10 甘特图(企业版)
- 6.4.11 代码评审(企业版)
- 6.4.12 Excel 导入导出(企业版)
- 6.4.13 Word 导出(企业版)
- 6.4.14 资产库管理
- 6.4.15 项目模板
- 6.4.2 维护团队
- 6.5. 研发人员
- 6.5.1 参加产品计划会议,分解任务
- 6.5.2 领取任务,并每天更新任务
- 6.5.3 创建构建,提交测试
- 6.5.4 确认Bug,解决Bug
- 6.5.5 执行的综合、需求、Bug、任务看板
- 6.5.2 领取任务,并每天更新任务
- 6.6. 测试人员
- 6.2. 项目集负责人
- 7. 功能介绍
- 7.1. 核心管理结构
- 7.1.1 项目集(Program)
- 7.1.2 项目(Project)
- 7.1.3 产品(Product)
- 7.1.4 执行(Execution)
- 7.1.5 管理模型
- 7.1.2 项目(Project)
- 7.2. 地盘
- 7.2.1 新手引导
- 7.2.2 全局添加
- 7.2.3 消息中心
- 7.2.4 工作日志
- 7.2.5 地盘-项目、执行
- 7.2.6 地盘-待处理、贡献、动态
- 7.2.7 地盘-审批
- 7.2.8 联系人
- 7.2.9 会议
- 7.2.2 全局添加
- 7.3. 项目集
- 7.4. 产品
- 7.4.1 创建产品
- 7.4.2 维护模块
- 7.4.3 产品多分支/平台管理
- 7.4.4 维护计划
- 7.4.5 维护需求
- 7.4.6 需求的评审
- 7.4.7 需求的状态和研发阶段
- 7.4.8 创建发布
- 7.4.9 跟踪进度
- 7.4.10 业务需求&需求多层级
- 7.4.2 维护模块
- 7.5. 项目
- 7.5.1 Scrum项目
- 7.5.2. 瀑布项目
- 7.5.2.1 维护项目的阶段
- 7.5.2.2 项目设计
- 7.5.2.3 项目构建
- 7.5.2.4 项目矩阵
- 7.5.2.5 项目评审
- 7.5.2.6 项目配置
- 7.5.2.7 项目报告、挣值管理
- 7.5.2.8 项目调研
- 7.5.2.9 项目估算
- 7.5.2.10 项目机会
- 7.5.2.11 项目培训
- 7.5.2.12 项目过程
- 7.5.2.13 项目QA
- 7.5.2.2 项目设计
- 7.5.3 项目模板
- 7.5.4 看板项目
- 7.5.5 融合敏捷项目
- 7.5.6 IPD项目
- 7.5.7 融合瀑布项目
- 7.5.8. 项目通用功能
- 7.5.8.1 项目的基本设置
- 7.5.8.2 维护项目的执行
- 7.5.8.3 维护项目的需求
- 7.5.8.4 维护项目的Bug、用例、测试单、测试报告
- 7.5.8.5 维护项目的文档
- 7.5.8.6 维护项目的发布
- 7.5.8.7 项目会议
- 7.5.8.8 项目风险
- 7.5.8.9 项目问题
- 7.5.8.10 项目交付物
- 7.5.8.2 维护项目的执行
- 7.5.9 项目资源日历(插件)
- 7.5.2. 瀑布项目
- 7.6. 执行
- 7.6.1 参加产品计划会议,分解任务
- 7.6.2 领取任务,并每天更新任务
- 7.6.3 创建构建,提交测试
- 7.6.4 确认Bug,解决Bug
- 7.6.5 执行的综合、需求、Bug、任务看板
- 7.6.2 领取任务,并每天更新任务
- 7.7. 测试
- 7.8. 自动化测试
- 7.9 DevOps(解决方案)
- 7.10. 文档
- 7.10.1 仪表盘
- 7.10.2 我的空间
- 7.10.3 团队空间
- 7.10.4 产品空间
- 7.10.5 项目空间
- 7.10.6 接口空间
- 7.10.7 接口文档
- 7.10.8 文档维护
- 7.10.9 文档编辑器
- 7.10.10 文档集成
- 7.10.11 文档多人协作
- 7.10.12 文档模板
- 7.10.2 我的空间
- 7.11. AI
- 7.11.1 禅道智能体
- 7.11.2 通用智能体
- 7.11.3 智能会话
- 7.11.4 禅道智能体简介
- 7.11.5 模型列表
- 7.11.6 ZAI配置
- 7.11.7 ZAI服务安装
- 7.11.8 ZAI服务控制面板使用
- 7.11.2 通用智能体
- 7.12. BI
- 7.12.1 维度(企业版8.4+)
- 7.12.2 大屏(企业版8.4+)
- 7.12.3 透视表
- 7.12.4. 度量项
- 7.12.4.1 查看度量项
- 7.12.4.2 创建度量项
- 7.12.4.3 度量项编码开发操作手册
- 7.12.4.2 创建度量项
- 7.12.5 透视表下钻
- 7.12.6. 大屏设计器
- 7.12.6.1 大屏设计器界面布局
- 7.12.6.2 大屏设计器引用图表
- 7.12.6.3 大屏设计器引用透视表
- 7.12.6.4 配置全局筛选器
- 7.12.6.2 大屏设计器引用图表
- 7.12.7 图表
- 7.12.8 数据表(企业版8.4+)
- 7.12.9 报告模板
- 7.12.2 大屏(企业版8.4+)
- 7.13. 看板
- 7.13.1 通用看板功能
- 7.14. 组织
- 7.14.1 团队成员和工作信息
- 7.14.2 人力资源日历(需安装插件)
- 7.14.3 组织动态
- 7.14.4 公司信息
- 7.14.2 人力资源日历(需安装插件)
- 7.15. 反馈
- 7.16. 后台设置
- 7.16.1 后台首页
- 7.16.2. 系统设置
- 7.16.2.1 模式
- 7.16.2.2 备份
- 7.16.2.3 回收站
- 7.16.2.4 聊天
- 7.16.2.5 授权
- 7.16.2.6 安全
- 7.16.2.7 定时
- 7.16.2.8 时区
- 7.16.2.9 重建索引
- 7.16.2.10 LDAP
- 7.16.2.11 表引擎
- 7.16.2.12 Office
- 7.16.2.2 备份
- 7.16.3 功能开关
- 7.16.4. 人员管理
- 7.16.5. 模型配置
- 7.16.6. 功能配置
- 7.16.6.1 地盘
- 7.16.6.2 产品
- 7.16.6.3 执行
- 7.16.6.4 测试
- 7.16.6.5 看板
- 7.16.6.6 文档
- 7.16.6.7 反馈
- 7.16.6.8 用户
- 7.16.6.9 工单
- 7.16.6.10 审批流程
- 7.16.6.11 度量
- 7.16.6.12 对象关联关系(企业版11.1)
- 7.16.6.13 会议室
- 7.16.6.2 产品
- 7.16.7 文档模板
- 7.16.8. 通知设置
- 7.16.9 插件管理
- 7.16.10 二次开发
- 7.16.11 Jira数据导入
- 7.16.12 Jira数据导入--数据迁移说明
- 7.16.13. 权限维护和控制
- 7.16.13.1 项目集的权限维护和访问控制
- 7.16.13.2 产品的权限维护和访问控制
- 7.16.13.3 项目的权限维护和访问控制
- 7.16.13.4 执行的权限维护和访问控制
- 7.16.13.5 项目和执行的访问控制和数据关系
- 7.16.13.2 产品的权限维护和访问控制
- 7.16.14. AI配置
- 7.16.15 Confluence数据导入
- 7.16.2. 系统设置
- 7.17. 工作流
- 7.18. 客户端增强版会议SRS
- 7.18.1. 音视频会议配置
- 7.18.1.1 安装音视频服务端
- 7.18.1.2 安装SRS音视频服务端
- 7.18.1.3 开启和配置音视频功能
- 7.18.1.2 安装SRS音视频服务端
- 7.18.2. 发起会议
- 7.18.2.1 一对一会话中发起音视频会议
- 7.18.2.2 群组会话中发起音视频会议
- 7.18.2.3 独立发起音视频会议入口
- 7.18.2.2 群组会话中发起音视频会议
- 7.18.3. 加入会议
- 7.18.3.1 分享音视频会议到会话
- 7.18.3.2 通过会议的ID加入会议
- 7.18.4. 预约会议
- 7.18.4.1 预约会议
- 7.18.5. 会议应用
- 7.18.5.1 音视频会议应用
- 7.18.1.1 安装音视频服务端
- 7.19. 客户端增强版会议Jitsi
- 7.19.1. 安装升级
- 7.19.1.1 安装 Jitsi 音视频服务端
- 7.19.1.2 后台配置
- 7.19.2. 功能介绍
- 7.19.1.1 安装 Jitsi 音视频服务端
- 7.20. 学堂
- 7.21. 资产库(旗舰版)
- 7.21.1 资产库管理(旗舰版)
- 7.22. 办公
- 7.1.1 项目集(Program)
- 8. AI插件
- 8.1 AI插件安装
- 8.2 ZAI服务安装
- 8.3 AI插件功能使用
- 8.4 ZAI服务控制面板使用
- 8.2 ZAI服务安装
- 9. 其他相关
- 9.1. 其他
- 9.1.1 禅道所使用到的第三方代码
- 9.1.2 禅道FAQ
- 9.1.3 如何帮助禅道项目
- 9.1.4 禅道商业服务
- 9.1.5 禅道项目的贡献者
- 9.1.6 历史修改记录
- 9.1.7 禅道对象名称的重名规则
- 9.1.2 禅道FAQ
- 9.1.1 禅道所使用到的第三方代码
- 10. IPD版本功能介绍
- 10.1. 禅道IPD版介绍
- 10.1.1 关于禅道IPD版
- 10.1.2 禅道IPD版的核心流程
- 10.2. IPD版的安装和升级
- 10.2.1 选择适合您的安装方法
- 10.2.2 选择适合您的升级方法
- 10.3. 需求与市场管理界面
- 10.3.1. 需求池
- 10.3.2. 市场
- 10.3.3. 产品
- 10.3.4. 立项
- 10.3.4.1 立项管理
- 10.3.5. 反馈
- 10.3.2. 市场
- 10.4. IPD研发管理界面
- 10.1.1 关于禅道IPD版
- 1.1 关于禅道项目管理软件
旧版Docker镜像升级说明 分享链接
作者:zhouyq最后编辑:liushasha 于 2025-09-04 14:23:39 浏览量:35477
本篇目录
一、为什么要升级?
- 优化更新流程,不需要下载安装包,直接拉取新版镜像即可
- 新版可以通过环境变量选择是否启用内置MySQL,方便对接外部MySQL
- 新版原生支持Kubernetes部署
- 旧版镜像2023年8月底停止更新
二、新旧版本对比
| 对比项 | 旧版 | 新版 | 说明 |
|---|---|---|---|
| 镜像大小 | 342Mb | 204Mb | 压缩后镜像大小 |
| 针对容器优化 | 否 | 是 | 新版优化了持久化目录、配置与安装流程 |
| 渠成应用市场 | 否 | 是 | 通过渠成应用市场安装 |
| 集成MySQL | 是 | 是 | 新版可通过环境变量控制是否使用内置MySQL |
| 对接外部MySQL | 是,手动修改my.php | 是,通过环境变量 | |
| 持久化目录 | 禅道代码+MySQL数据 | 禅道配置+用户数据 或 MySQL数据 | 新版镜像只需要挂载容器内 /data 目录 |
| 禅道升级 | 下载源码包覆盖程序 | 拉取新版本镜像 | |
| Dockerfile开源 | 否 | 是 | 新版Dockerfile源码 |
| docker-compose编排 | 否 | 是 | |
| Kubernetes运行 | 否 | 是 | |
| 高可用部署 | 否 | 是 | |
| PHP配置修改 | 手动 | 环境变量 | 新版通过环境变量设置PHP参数 |
| Session存储 | 文件 | 文件 或 Redis | 新版通过环境变量设置 |
| PHP配置修改 | 手动 | 环境变量 | 新版通过环境变量设置PHP参数 |
| 配置SMTP | 手动 | 环境变量 | |
| 配置LDAP | 手动 | 环境变量 | 企业版、旗舰版支持 |
| 配置CI | 手动 | 环境变量 | |
| 配置Git服务 | 手动 | 环境变量 |
三、旧版升级流程
3.1 备份数据
- 命令行进入到旧版容器内执行
# 查找禅道容器ID,默认容器名为 zentao,请根据实际情况填写禅道容器名
cid=$(docker ps -q --filter name=zentao)
# 查看旧版禅道服务的持久化目录位置
docker inspect $cid | grep -B 1 "/www/zentaopms"
"/tmp/zentao-db:/var/lib/mysql",
"/tmp/zentao-files:/www/zentaopms"
--
"Source": "/tmp/zentao-files",
"Destination": "/www/zentaopms",
# 本示例的宿主机目录分配是:
# MySQL目录:/tmp/zentao-db
# 禅道目录:/tmp/zentao-files
# 进入到禅道容器内
docker exec -it $cid bash
# 查看当前运行的禅道版本
cat /www/zentaopms/VERSION
max4.1 # 记住这个版本号,升级新版镜像时要用到
# 通过命令行备份禅道数据
# 切换到禅道工作目录的bin目录
cd /www/zentaopms/bin
# 根据当前配置生成备份脚本
bash init.sh
Please input your php path:(example: /usr/bin/php)
/usr/bin/php
Please input zentao url:(example: http://localhost:88/zentao or http://localhost)
http://localhost
ztcli.sh ok
backup.sh ok
computeburn.sh ok
computetaskeffort.sh ok
dailyreminder.sh ok
checkdb.sh ok
syncsvn.sh ok
syncgit.sh ok
sendmail.sh ok
sendwebhook.sh ok
createcycle.sh ok
initqueue.sh ok
checkbuildstatus.sh ok
execcompile.sh ok
deletelog.sh ok
encrypt.sh ok
cron.sh ok
# 通过backup.sh脚本备份禅道
bash backup.sh
备份成功!
# 备份文件存在 /www/zentaopms/tmp/backup 目录,本示例文件如下:
ls -1 /www/zentaopms/tmp/backup
202303150937474.code # 代码备份
202303150937474.file # /www/zentaopms/www/data 目录备份
202303150937474.sql.php # 数据库备份
summary # 本次备份统计信息 3.2 启动新版禅道镜像
3.2.1 创建新版禅道数据目录
本示例使用 /data/zentao 作为新版禅道得持久化目录,要保证
/data分区或/分区有足够的剩余空间。
mkdir /data/zentao 3.2.2 下载镜像,启动服务
禅道镜像内包含MySQL服务,默认不启动,如果启动内置的MySQL服务,需要设置环境变量 MYSQL_INTERNAL=true
拉取镜像
docker pull hub.zentao.net/app/zentao:max4.5 启动禅道
docker run -d \
--name new-zentao \
-v /data/zentao:/data \
-p 8080:80 \
-p 13306:3306 \
-e MYSQL_INTERNAL=true \
hub.zentao.net/app/zentao:max4.5 注意:
- 启动命令设置了
MYSQL_INTERNAL=true环境变量,会在容器内启动MySQL服务- 请根据实际情况设置容器名称,本示例使用
new-zentao是为了与旧版的zentao名称区分- 请根据实际情况设置端口映射,本示例将容器内的80端口映射为8080,3306映射为13306
查看启动日志
docker logs -f zentao 日志信息如下:
14:18:19.19
14:18:19.20 Welcome to the Easysoft ZenTao max4.5 container
14:18:19.20 Subscribe to project updates by watching https://www.zentao.net
14:18:19.20 Submit issues and feature requests at https://www.zentao.net/ask.html
14:18:19.20
14:18:19.21 INFO ==> Prepare persistence directories.
14:18:19.46 INFO ==> Render php.ini with environment variables.
14:18:19.46 INFO ==> render template php.ini for amd64
14:18:19.47 INFO ==> Render apache sites config with envionment variables.
14:18:19.49 INFO ==> Copy mysql data to /data/mysql/data
14:18:19.49 INFO ==> Check whether the MySQL is available.
14:18:19.50 WARN ==> Waiting MySQL 1 seconds
14:18:19.51 WARN ==> Please open the browser to complete the installation through the wizard.
14:18:19.52 INFO ==> Render mysql config with envionment variables.
230804 14:18:19 mysqld_safe Logging to '/data/mysql/logs/mysql_error.log'.
230804 14:18:19 mysqld_safe Starting mariadbd daemon with databases from /data/mysql/data
14:18:20.51 INFO ==> MySQL is ready.
14:18:20.51 WARN ==> Please open the browser to complete the installation through the wizard. 注意:
- 容器启动时会根据环境变量对PHP、Apache、MySQL等服务进行配置,支持的环境变量
- 容器启动时,会检查MySQL服务是否可以正常连接,默认情况下等待30秒,如果30秒内不能连接MySQL,容器会自动退出
- 首次启动容器时,最后会打印输出
Waiting for the installation wizard to complete.看到这个消息,请打开浏览器,完成禅道安装向导。
3.3 导入备份的数据
在导入备份的数据之前,先要了解新版镜像的持久化目录对应关系:
| 禅道代码目录 | 容器持久化目录 | 说明 |
|---|---|---|
| /apps/zentao/www/data | /data/zentao/www/data | 禅道用户上传的文件目录 |
| /apps/zentao/config/my.php | /data/zentao/config/my.php | 禅道主配置文件 |
| /apps/zentao/config/ext | /data/zentao/config/ext | 存放禅道插件的目录 |
| /apps/zentao/config/license | /data/zentao/config/license | 禅道授权目录 |
| /apps/zentao/extension/custom | /data/zentao/extension/custom | 禅道自定义插件目录 |
| /apps/zentao/module/extension/ext | /data/zentao/module/extension/ext | 禅道企业版/旗舰版插件目录 |
| /apps/zentao/tmp/backup | /data/zentao/tmp/backup | 备份目录 |
| /apps/zentao/tmp/log | /data/zentao/tmp/log | 日志目录 |
| /apps/zentao/tmp/template | /data/zentao/tmp/template | 模板目录 |
注意:
- 为了实现以上目录的持久化存储,新版禅道镜像对需要做持久化的目录做了软连接处理,首次启动时会在
/data创建目录,并软连接到容器内的禅道代码目录,详情参加:源码:持久化目录处理- 将旧版的备份恢复到新版的操作要尽量选用低峰,否则会造成数据不一致。
3.3.1 恢复文件
恢复文件时建议关闭新旧版的禅道服务,上文得到的旧版禅道目录是 /tmp/zentao-files 因此,需要将该目录下需要持久化的目录复制到新版镜像持久化目录即可,不需要将所有文件复制到新版持久化目录。
# 关闭旧版禅道服务
docker stop zentao
# 关闭新版禅道服务
docker stop new-zentao
# 将旧版需要持久化的目录复制到新版目录
# 此步骤在宿主机执行
# www/data -- 禅道用户上传的文件目录
cp -rp /tmp/zentao-files/www/data /data/zentao/www/
# config/my.php -- 禅道主配置文件
cp -rp /tmp/zentao-files/config/my.php /data/zentao/config/my.php
# config/ext -- 存放禅道插件的目录
cp -rp /tmp/zentao-files/config/ext /data/zentao/config/
# config/license -- 禅道授权目录
cp -rp /tmp/zentao-files/config/license /data/zentao/config/
# extension/custom -- 禅道自定义插件目录
cp -rp /tmp/zentao-files/extension/custom /data/zentao/extension/
# module/extension/ext -- 禅道企业版/旗舰版插件目录
[ -d /tmp/zentao-files/module/extension/ext ] && cp -rp /tmp/zentao-files/module/extension/ext /data/zentao/module/extension/ 3.3.2 修改my.php配置
vi /data/zentao/config/my.php
<?php
$config->installed = true;
$config->debug = false;
$config->requestType = 'PATH_INFO';
$config->timezone = 'Asia/Shanghai';
$config->db->host = '127.0.0.1'; # 使用内部的MySQL
$config->db->port = '3306';
$config->db->name = 'zentao';
$config->db->user = 'root';
$config->db->encoding = 'UTF8';
$config->db->password = '123456'; # 默认密码
$config->db->prefix = 'zt_';
$config->webRoot = getWebRoot();
$config->default->lang = 'zh-cn'; 注意:
- 如果你之前使用的就是内置MySQL,且没有修改过默认密码,
my.php可以不用修改。- 如果你修改了默认的数据库密码,请将MySQL的密码修改为更新后的密码。
- 如果你使用的是外部的MySQL,
my.php不需要修改。
3.3.3 恢复数据库
启动新版禅道镜像:
# 启动之前,先确认旧版禅道容器是否已经清理
docker rm zentao
# 启动新版禅道
docker run -d \
--name zentao \
-v /data/zentao:/data \
-p 8080:80 \
-p 13306:3306 \
-e MYSQL_INTERNAL=true \
hub.zentao.net/app/zentao:max4.5
# 查看服务状态
docker logs -f zentao 将 3.1 备份的数据库导入到新启动的MySQL:
# 删除备份文件的第一行 sed -i '1d' 202303150937474.sql.php # 将SQL中不符合时间规范的字段替换为 1970-01-01 sed -i 's/0000-00-00/1970-01-01/g' 202303150937474.sql.php # 修改文件名 mv 202303150937474.sql.php 202303150937474.sql # 导入数据,宿主机执行
mysql -uroot -h127.0.0.1 -P13306 -p zentao < 202303150937474.sql
# 导入数据完成后,手动重启zentao容器
docker restart zentao
四、新版禅道镜像的版本升级
从旧版镜像切换到新版镜像,或者直接使用新版镜像后,升级禅道只需要拉取最新的禅道镜像即可。
切记:升级前通过命令行或者禅道后台备份数据
本示例介绍如何从 禅道 旗舰版 4.5 升级到 4.6
# 拉取禅道旗舰版 4.6 的镜像
docker pull hub.zentao.net/app/zentao:max4.6 4.2 关闭旧版容器,启动新版镜像
# 关闭旧版容器
docker stop zentao
# 启动新版镜像
docker run -d \
--name zentao \
-v /data/zentao:/data \
-p 8080:80 \
-p 13306:3306 \
-e MYSQL_INTERNAL=true \
hub.zentao.net/app/zentao:max4.6 五、其他
5.1 将Session存储到Redis
新版禅道镜像支持通过环境变量更改Session的存放类型,如下:
| 变量名 | 默认值 | 说明 |
|---|---|---|
| PHP_SESSION_TYPE | files | php session 类型,files 或 redis |
| PHP_SESSION_PATH | /data/php/session | php session 存储路径 |
示例:
docker run -d \
--name zentao \
-v /data/zentao:/data \
-p 8080:80 \
-p 13306:3306 \
-e MYSQL_INTERNAL=true \
-e PHP_SESSION_TYPE=redis \
-e PHP_SESSION_PATH=tcp://192.168.1.88:6379 \
hub.zentao.net/app/zentao:max4.6 5.2 其他功能扩展
新版禅道镜像会针对禅道的功能增加不同的环境变量,通过环境变量开启和变更相关的功能与配置,更多详情参见:支持的环境变量
5.3 其他链接
渠成在线安装禅道
六、历史记录
V1.0
- 首版
V2.0
- 内置MySQL,默认情况下不启动,可以通过设置
MYSQL_INTERNAL=true启用内置MySQL。 - 降低部署成本,运行方式与旧版保持一致,高级用户可选择docker-compose的方式运行。
- 18.6 版本禅道镜像会同步更新国内镜像,以后会使用 hub.zentao.net 的域名,方便国内用户拉取镜像。
- 镜像的运行时(Apache、PHP、MySQL)会按照官方的稳定版一起发布,可及时修复环境安全漏洞。
- 支持amd64与arm64 架构,满足国产信创需求。




精品资料包
1V1产品演示
免费试用增强功能
专属顾问答疑支持


