1. 安装禅道
1.1  选择适合您的安装方法
1.2  使用云禅道在线项目管理服务!
1.3  (推荐)windows用一键安装包安装
1.4  (推荐)linux用一键安装包
1.5  linux下用lampp集成包安装
1.6  使用源码包安装(MAC系统)
1.7  MAC下用XAMPP安装禅道
1.8  MAC下用XAMPP-VM安装禅道
1.9  禅道一键安装包里安装渠成软件
1.10  使用源码包安装(各系统通用)
1.11  宝塔面板安装禅道
1.12  华芸NAS在线安装
1.13  Centos7.4系统下安装httpd,mariadb,php7.2环境运行禅道
1.14  Centos8系统下安装httpd,mariadb,php7.2环境运行禅道
1.15  安装ioncube扩展
1.16  安装swoole扩展
1.17  Docker方式部署禅道
2. 禅道介绍
2.1  关于禅道项目管理软件
2.2  如何获得支持
2.3  关注我们
3. 升级禅道
3.1  选择和自己环境对应的升级方式
3.2  通过源代码方式升级(通用)
3.3  windows一键安装包的升级
3.4  linux一键安装包升级
4. 创建分组和用户
4.1  建立部门结构
4.2  添加一个用户帐号
4.3  批量维护帐号
4.4  设置分组,建立权限体系
5. 最简使用
5.1  使用禅道来进行项目任务管理
5.2  只使用禅道来做bug管理
5.3  只使用禅道来进行产品管理
5.4  个人使用禅道来做事务跟踪管理
6. 基本使用
6.1  禅道使用的基本流程和产品、研发、测试之间的三权分立
6.2  敏捷开发及scrum简介
6.3  禅道和scrum的对应关系
6.4  禅道的新手教程
6.5  创建第一个产品
6.6  添加第一个需求
6.7  开始第一个项目
6.8  确定项目要完成的需求列表
6.9  为需求分解任务
6.10  提交bug
6.11  视频教程:第一个演示项目
6.12  维护联系人
6.13  禅道的自定义功能
6.14  导入excel、csv参考文档
6.15  文档管理
6.16  工作方式的切换
6.17  操作获取积分功能
6.18  自定义必填项功能
6.19  如何排查产品、项目是否有访问权限
6.20  年度总结,工作内容统计一览表说明
7. 进阶使用
7.1. 使用流程
7.1.1  禅道使用流程图解
7.2. 个人管理
7.2.1  使用待办进行个人事务管理
7.2.2  关注需要自己处理的任务、需求、bug
7.2.3  通过我的档案查看或者修改个人信息
7.2.4  视频教程:禅道使用之个人篇
7.3. 产品经理篇
7.3.1  维护产品
7.3.2  维护产品线
7.3.3  创建和评审需求
7.3.4  变更和评审需求
7.3.5  需求的状态和研发阶段
7.3.6  需求的注意事项
7.3.7  维护产品模块
7.3.8  建立发布计划
7.3.9  建立发布
7.3.10  路线图
7.3.11  文档管理
7.3.12  主持产品会议
7.3.13  参与项目管理、演示和总结
7.3.14  需求的基本统计报表
7.3.15  视频教程:禅道使用之产品经理篇
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.5. 开发团队篇
7.5.1  参加项目计划会议,分解任务
7.5.2  领取任务,并每天更新任务
7.5.3  通过看板和树状图查看任务
7.5.4  创建版本
7.5.5  申请测试
7.5.6  解决bug
7.5.7  文档管理
7.5.8  确认bug
7.5.9  视频教程:禅道使用之开发团队篇
7.6. 测试团队篇
7.6.1  维护bug视图模块
7.6.2  提交bug
7.6.3  验证bug,关闭
7.6.4  激活bug
7.6.5  找到自己需要的bug
7.6.6  维护测试用例视图
7.6.7  创建测试用例
7.6.8  测试套件、报告和公共用例库的维护
7.6.9  管理测试版本
7.6.10  执行用例,提交Bug
7.6.11  查看报表统计
7.6.12  视频教程:禅道使用之测试团队篇
8. 维护配置
8.1. 维护禅道
8.1.1  初始化管理脚本
8.1.2  备份禅道
8.1.3  恢复删除的资源
8.1.4  如何更新燃尽图
8.1.5  一键安装包如何实现mysql异机连接
8.2. 配置禅道
8.2.1  设置是否允许匿名访问
8.2.2  如何配置email发信
8.2.3  如何成为超级管理员
8.2.4  配置禅道系统为静态访问
8.2.5  去掉禅道访问地址中的zentao
8.2.6  linux一键安装包去掉禅道访问地址中的zentao
8.2.7  集成禅道和svn
8.2.8  集成禅道和git
8.2.9  在第三方应用中集成禅道
8.2.10  第三方应用配置免密登录禅道
8.2.11  第三方应用集成禅道客户端进行消息通知
8.2.12  集成webhook
8.2.13  集成ZDOO
8.2.14  客户端集成
8.2.15  禅道的翻译功能
8.2.16  浏览器通知的设置
8.2.17  集成钉钉工作消息通知
8.2.18  集成企业微信应用消息通知
8.2.19  集成飞书群机器人
8.2.20  集成飞书消息通知
8.2.21  集成版本库、集成Jenkins,并进行构建
8.2.22  解决一键安装包密码口令弱的问题
8.3. 性能优化
8.3.1  nginx反向代理禅道502或504bad gateway错误
8.3.2  linux系统中配置session使用redis
9. 定制开发
9.1  二次开发机制
9.2  禅道的目录结构
9.3  找到要修改的文件
9.4  禅道的数据库结构
9.5  公用模块--common
9.6  如何登记菜单
9.7  如何登记权限
9.8  示例:如何修改禅道的语言提示?
9.9  示例:创建bug时可以设置优先级字段
9.10  使用在线扩展编辑器
9.11  二次开发编辑器和翻译功能限制使用说明
9.12  禅道项目管理软件打包规范1.1版本
10. 其他相关
10.1  禅道所使用到的第三方代码
10.2  禅道FAQ
10.3  如何帮助禅道项目
10.4  禅道商业服务
10.5  禅道项目的贡献者
10.6  历史修改记录

Docker方式部署禅道

2020-05-26 18:48:00
贾冬冬
102057
最后编辑:王林 于 2021-06-30 09:38:42
分享链接
摘要:本文主要介绍如何使用Docker方式部署、升级禅道系统。

一、环境准备

运行环境需成功部署Docker服务,推荐使用Docker 18版本以上,对主机环境没有要求。

可通过命令查看Docker版本。

docker -v

二、下载禅道镜像

目前支持在线下载和离线导入两种部署禅道镜像的方式,可根据自己环境进行选择。

1、在线下载

禅道镜像已放于Docker Hub上,地址为: https://hub.docker.com/r/easysoft/zentao/tags

可根据所需版本拉取对应版本的镜像,默认latest为禅道开源最新版本。

sudo docker pull [镜像名]:[镜像标签]
例如拉取禅道开源版12.3.3版本命令如下:
sudo docker pull easysoft/zentao:12.3.3

禅道版本和镜像tag对应关系如下:

禅道版本 镜像标签
开源版

以数字开头,如:12.3.3

专业版 以pro开头,如:pro8.8.3
企业版 以biz开头,如:biz3.7.2

2、离线导入

禅道版本对应的镜像归档文件如下表所示:

禅道版本 镜像名字 镜像归档文件下载路径
开源版12.3.3 easysoft/zentao:12.3.3
/dl/docker/zentao_12.3.3.tar.gz
专业版8.8.3 easysoft/zentao: pro8.8.3
/dl/docker/zentao_pro8.8.3.tar.gz
企业版3.7.2 easysoft/zentao: biz3.7.2
/dl/docker/zentao_biz3.7.2.tar.gz
备:归档文件的命名格式为产品名+下划线+版本号+.tar.gz,以后发布产品也依照此格式。

导入镜像步骤如下:
1、选择合适的版本进行下载,拷贝至主机下某位置;

2、进入主机的镜像归档文件目录, 执行导入镜像命令。

sudo gunzip -c [镜像归档文件名] | docker load
例如拉取禅道开源版12.3.3版本命令如下:
sudo gunzip -c zentao_12.3.3.tar.gz | docker load 

三、启动禅道容器

1、创建docker网络驱动

sudo docker network create --subnet=[ip范围] [网络驱动名]

其中,ip范围:例如172.172.172.0/24的意思ip可以指定范围为172.172.172.1到172.172.172.254;
网络驱动名:创建的网络驱动名,可随意指定;

例如:

sudo docker network create --subnet=172.172.172.0/24 zentaonet
 2、启动禅道容器

命令格式如下:

sudo docker run --name [容器名] -p [主机端口]:80 --network=[网络驱动名] --ip [容器IP] --mac-address [mac地址] -v [主机禅道目录]:/www/zentaopms -v [主机mysql目录]:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=[数据库密码] -d easysoft/zentao:[镜像标签]

其中,容器名:启动的容器名字,可随意指定;

主机端口:主机端口为web访问端口;

网络驱动名:刚刚创建的网络驱动名;

容器IP:在网络驱动范围内选择一个作为该容器的固定ip;

mac地址:指定固定的mac地址,建议范围为02:42:ac:11:00:00  到  02:42:ac:11:ff:ff;

主机禅道目录:必须指定,方便禅道代码、附件等数据的持久化,非升级情况需指定空目录;

主机mysql目录:必须指定,方便禅道数据持久化,非升级情况需指定空目录;

数据库密码: 容器内置mysql用户名为root,默认密码123456,如果不修改可以不指定该变量,如果想更改密码可以设置 MYSQL_ROOT_PASSWORD变量来更改密码;

镜像标签:禅道版本。

例如:在主机上创建空目录/www/zentaopms和/www/mysqldata,执行如下命令

sudo docker run --name zentao -p 80:80 --network=zentaonet --ip 172.172.172.172 --mac-address 02:42:ac:11:00:00 -v /www/zentaopms:/www/zentaopms -v /www/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:12.3.3

备注:

  • 如果需要远程连接数据库,可以增加一个端口映射 “-p [主机端口]:3306”
  • 如果在单个主机上部署多个禅道系统,只需要指定不同的[容器名]、[主机端口]、[容器IP]、[mac地址]、[主机禅道目录]、[主机mysql目录]即可部署多个禅道系统,例如:
sudo docker run --name zentao2 -p 8080:80 -p 3306:3306 --network=zentaonet --ip 172.172.172.173 --mac-address 02:42:ac:11:00:01 -v /www/zentaopms:/www/zentaopms -v /www/mysqldata2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:12.3.3

3、查看容器是否启动成功

执行如下命令查看容器是否启动成功,如果没有则启动失败,去掉-d选项进行前台运行调试容器,如有任何问题请咨询禅道商务同事。

docker ps

四、安装禅道

浏览器直接访问 http://宿主机ip:宿主机映射端口



五、升级禅道

1.先停止禅道容器,为备份数据做准备

命令格式如下:

docker stop [容器名]
例如:
docker stop zentao 
2 .备份禅道数据

为安全起见,将上文所述的[主机禅道目录]和[主机mysql目录]进行备份,例如将/www/zentaopms和/www/mysqldata进行 拷贝至主机其他目录。

3.获取最新版源码包,开源版从禅道官网获取,其他版本可咨询禅道商务获取

4.解压缩后,覆盖 [主机禅道目录],例如解压缩后覆盖主机/www/zentaopms目录

5.启禅道容器

docker start [容器名]
例如:
docker start zentao 

6.访问upgrade.php,选择对应的版本,按照提示进行即可

开源版、专业版、企业版的升级相似,具体可以参考开源版禅道的升级 http://www.zentao.net/help-read-78960.html。

六、安装svn、git客户端   (如果不使用svn、git集成的话,不用安装)

1. 进入容器

docker exec -it [容器名] /bin/bash
2. 执行命令

apt-get install git -y
apt-get install subversion -y

七、FAQ

 A:如何修改容器里的mysql等配置文件

 Q:使用如下命令

docker exec -it [容器名] /bin/bash
比如进入禅道容器,修改my.cnf后保存,重启mysql服务

docker exec -it zentao /bin/bash
vi /etc/mysql/my.cnf 

同理,修改apache、php.ini的配置也类似,以下列出容器内相关组件的路径。

容器内apache配置文件目录:/etc/apache2/

容器内禅道目录:/www/zentaopms

容器内mysql配置文件目录: /etc/mysql/

容器内php配置文件目录:/etc/php/7.0/apache2


A:如何远程连接容器里的mysql
Q:请参考:https://www.zentao.net/book/zentaopmshelp/276.html

1)、确认主机与容器中mysql有端口映射;
2)、确认/etc/mysql/mariadb.conf.d/50-server.cnf 中的“ bind-address = 0.0.0.0”;
3)、确认远程登录用户权限,如使用root用户。

select host from mysql.user where user='root';
update mysql.user set host='%' where user='root';
flush privileges;


A:为什么容器挂载出来的/www/zentaopms目录是空文件夹
Q:在禅道12.3.1、12.2.stable、biz3.7、pro8.8这四个镜像中,禅道的挂载目录为/app/zentaopms,需修改挂载目录

例如:在主机上创建空目录/app/zentaopms和/app/mysqldata,执行如下命令

sudo docker run --name zentao -p 80:80 --network=zentaonet --ip 172.172.172.172 --mac-address 02:42:ac:11:00:00 -v /app/zentaopms:/app/zentaopms -v /app/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:12.3.3



评论列表
xialuori 2022-05-18 14:58:47
docker部署的禅道,如何还原数据
xialuori 2022-05-18 15:03:27 回复
我现在还原数据,一直是停留在 还原正在进行中,请稍后...
王林 2022-05-18 15:38:42 回复
如何做的数据备份?
如果是使用的之前的备份文件
文件拷贝到backup目录下后,需要给文件递归设置下777权限,然后进行还原
或者可以将.sql.php结尾的数据库文件编辑,删除最上面一行内容后,重命名文件将.php删除,然后登录数据库直接导入这个sql
file结尾的备份文件是附件备份,可以覆盖到zentaopms/www/data/upload同级目录下。
注意数据还原只能在相同版本之间进行操作
2022-05-15 18:17:58
通过域名访问无法点击登录按钮 必须要加上端口才能访问
禅道-阿龙 2022-05-16 08:22:49 回复
域名登录应该使用nginx配置的,可以在禅道的目录zentao(pro)/config/my.php文件中,加一行:
$config->framework->filterCSRF = false;
称呼 2022-05-09 15:33:18
Docker部署如何修改默认访问端口 不想通过其他端口映射
cuiping 2022-05-09 17:29:20 回复
需要修改一下宿主机映射端口
称呼 2022-05-10 11:46:15 回复
使用--net=host启动 端口映射不起作用
禅道-Bee 2022-05-10 17:34:54 回复
可以修改下容器内的apache配置文件试试呢。
xialuori 2022-05-18 14:18:25 回复
需要如何修改?我这边也是端口映射之后,无法访问禅道界面了
禅道-阿龙 2022-05-18 14:28:06 回复
启动容器时可以容器内使用80端口,映射到宿主机使用其他端口就可以。
will 2022-04-28 15:06:16
使用 docker load 加载镜像包的时候出现如下错误:
[root@localhost ~]# sudo gunzip -c ZenTaoPMS.12.3.2.zbox_old.64.tar.gz | docker load
open /var/lib/docker/tmp/docker-import-280216879/zbox/json: no such file or directory

是什么问题呢?
于涛 2022-04-28 17:05:42 回复
docker 部署的12.3.2版本的禅道吗,看下这个镜像是否是idoop的镜像,这个是一个第三方的镜像,有一些问题,可以先按照这个步骤将镜像迁移到我们官方看下:注意操作之前做好数据备份。
docker idoop/zentao 迁移到easysoft/zentao
1. 操作之前备份禅道,停止服务,备份 /data/zbox/整个目录。
2. 确认idoop/zentao环境禅道的版本小于等于easysoft/zentao上的禅道最新版本。
3. 安装禅道官方版本的docker环境:http://www.zentao.net/book/zentaopmshelp/405.html
参考命令:
sudo docker run --name zentao -p 87:80 --network=zentaonet --ip 172.172.172.172 --mac-address 02:42:ac:11:00:00 -v /www/zentaopms:/www/zentaopms -v /www/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:latest
4. 停止两套docker容器
5. 迁移附件的物理文件,将/data/zbox/app/zentao/www/data/upload/1/目录下的文件,迁移到/www/zentaopms/www/data/upload/1/目目录下
6. 将/www/mysqldata/zentao/目录下的数据库物理文件删除
7. 迁移数据库物理文件,将/data/zbox/data/zentao/目录下的文件,迁移到/www/mysqldata/zentao/目录下,并且执行 chmod -R 660 /www/mysqldata/zentao/
8. 启动容器,访问禅道,如果跳转到upgrade.php页面,可以群文件下载upgrade.php文件,放到/www/zentaopms/www/目录下,访问执行升级

参考下迁移视频 http://www.zentao.net/video/c1456/p3.html
qing 2022-04-03 13:29:09
连接容器中的数据库
1)、确认主机与容器中mysql有端口映射;
2)、确认/etc/mysql/mariadb.conf.d/50-server.cnf 中的“ bind-address = 0.0.0.0”;

这里建议先创建一个用户,root设置错误后导致登陆不上。

1:创建zentao用户 %远程 localhost本地
create user 'zentao'@'%'
create user 'zentao'@'localhost'
GRANT ALL ON *.* TO 'zentao'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
GRANT ALL ON *.* TO 'zentao'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

2:刷新权限
flush privileges;

3:远程登陆zentao这时候是可以登陆的,本地登陆也可以

4:使用root
root登陆
切换数据库
use mysql;
select user,host from mysql.user;
select user,host from user where user='root' and host='127.0.0.1';

update mysql.user set host='%' where user='root' and host='127.0.0.1';
GRANT ALL ON *.* TO 'zentao'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;

马超 2022-04-06 09:03:16 回复
可以在zentaopms/config/my.php 文件中,修改my.php 文件中数据库连接信息为新增的zentao账号和密码,然后再访问禅道看下。
qing 2022-04-03 12:27:35
远程连接容器里的mysql??试过几次都是失败的。按照文档的设置会导致ERROR 1045 (28000): Access denied for user ''@'localhost' (using password: YES)
qing 2022-04-03 12:34:44 回复
# mysql -u zentao -p
Enter password:
ERROR 1045 (28000): Access denied for user 'zentao'@'localhost' (using password: YES)
# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.1.48-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select user,host from mysql.user;
+--------+--------------+
| user | host |
+--------+--------------+
| zentao | % |
| root | 127.0.0.1 |
| root | ::1 |
| | fc1e6d1cd4b2 |
| root | fc1e6d1cd4b2 |
| | localhost |
| root | localhost |
+--------+--------------+
7 rows in set (0.00 sec)
不二神探 2022-03-31 11:54:50
sudo docker run --name zentao2 -p 8080:80 -p 3306:3306 --network=zentaonet --ip 172.172.172.173 --mac-address 02:42:ac:11:00:01 -v /www/zentaopms:/www/zentaopms -v /www/mysqldata2:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:12.3.3

这个示例中【主机禅道目录】没有更改
禅道-阿龙 2022-03-31 13:23:26 回复
这里根据需要修改为宿主机实际的存储代码的目录即可。
2022-03-25 15:35:40
拉取最新镜像启动的时候报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),并没有修改mysql的密码
容器内查看mysql 状态报错:/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
禅道-Bee 2022-03-25 17:26:42 回复
这个提示先忽略下,访问页面看下提示什么呢?
浩凡 2022-03-29 08:53:21 回复
页面访问正常,就是报错
禅道-阿龙 2022-03-29 10:01:50 回复
您好,可以添加QQ2468103332 详细说明下报错信息。
Lin 2022-03-18 15:34:20
你好,拉取了最新版镜像之后,容器成功启动了。但是访问宿主机ip+端口号,浏览器报了 ERR_CONNECTION_REFUSED。
日志里只有 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 这一句警告
于涛 2022-03-18 16:01:46 回复
您好,关于页面访问提示REFUSED表示当前连接被拒接,需要确认下防火墙设置以及端口映射是否采用了特殊端口导致的浏览器拒绝访问,另外日志报错这个问题可以到容器内看下mysql服务是否正常访问,可以正常访问的话,这个报错可以忽略下
王正 2022-02-21 14:52:34
请问下 我用docker安装完成后,再用nginx 二级目录做反向代理,为啥登陆后点击跳转始终跳到根目录访问啊。每个url都是写死根路径的吗?
于涛 2022-02-21 16:33:07 回复
具体的截图方便添加我们商务QQ:2679672214,发我们看下吗,或者可以先自行检查下配置文件的web目录,或者重写规则的相关配置项
1/6
发表评论
评论通过审核后显示。