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  禅道一键安装包里安装蝉知和ZDOO
1.10  禅道一键安装包里安装渠成软件
1.11  使用源码包安装(各系统通用)
1.12  宝塔面板安装禅道
1.13  华芸NAS在线安装
1.14  Centos7.4系统下安装httpd,mariadb,php7.2环境运行禅道
1.15  Centos8系统下安装httpd,mariadb,php7.2环境运行禅道
1.16  安装ioncube扩展
1.17  安装swoole扩展
1.18  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  配置禅道系统为静态访问
8.2.6  去掉禅道访问地址中的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  解决一键安装包密码口令弱的问题
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
贾冬冬
51383
最后编辑:王林 于 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



评论列表
wa 2021-06-25 07:25:52
docker 安装 不会生成 my.php并且 也无法启动页面
禅道-Bee 2021-06-25 10:10:32
官网docker镜像构建之后,需要访问install.php安装,安装之后才会生成my.php文件。可以重新构建下试试。如果还是不行,可以联系官网顶部商务QQ,邀请加入技术交流群沟通。
小李 2021-06-22 17:49:17
运行是报这个错
chmod: cannot access '/www/zentaopms/www/data': No such file or directory。 请问是什么原因呢?
禅道-Bee 2021-06-23 13:24:19
是不是在群里沟通过了?新安装的话,删除容器,重新构建下试试。如果还有问题,可以联系官网顶部商务QQ,邀请加入技术交流群沟通。
城府 2021-06-17 22:03:10
禅道可以不使用内置的mysql吗 ? 使用外部服务器主机安装的mysql????
马超 2021-06-18 09:56:47
你好,zentaopms/config/my.php 文件中可以设置数据库连接信息。
注意:使用外部服务器mysql 需要网络互通。
如果还有其他疑问, 可以加一下左上角的商务联系方式,商务邀请进群后沟通。
flechazo 2021-06-17 10:25:29
docker方式部署禅道只能上传1M以下的文件,请问需要修改什么配置才能解决呢?
于涛 2021-06-17 10:51:44
调整php.ini (打印phpinfo查看文件路径)中的 post_max_size 和 upload_max_filesize值,重启apache即可。
使用nginx环境还要修改nginx 的配置client_max_body_size参数(默认1M,限制所有网页)
Teddy 2021-06-01 22:07:30
docker方式部署禅道 断电后提示 普通用户请联系管理员进行修复
管理员请登录禅道所在的服务器,创建zentaopmsrepair_60b6345e16da5.txt文件 这个文件应该创建在服务器哪个位置 还是在容器里的哪个位置
禅道-Bee 2021-06-02 08:49:33
容器内zentaopms/www/目录下创建repair_60b6345e16da5.txt。如果还是不行,可以联系官网顶部商务QQ,邀请加入技术交流群沟通。
xuhanbing 2021-04-21 15:58:11
我这里启动容器后几秒钟就会停止掉是什么问题?
数据库用的mysql
以下是docker日志
2021-04-21T07:53:39.606979933Z * Starting MariaDB database server mysqld
2021-04-21T07:54:10.521247946Z ...fail!
2021-04-21T07:55:25.734004458Z * Restarting periodic command scheduler cron
2021-04-21T07:55:25.737865712Z * Stopping periodic command scheduler cron
2021-04-21T07:55:25.746148406Z /sbin/start-stop-daemon: warning: failed to kill 30: No such process
2021-04-21T07:55:25.747825447Z ...done.
2021-04-21T07:55:25.752723905Z * Starting periodic command scheduler cron
2021-04-21T07:55:25.757545025Z ...done.
2021-04-21T07:55:25.765095944Z * Restarting Apache httpd web server apache2
2021-04-21T07:55:26.909926115Z ...done.
2021-04-21T07:55:26.960851136Z * Stopping MariaDB database server mysqld
2021-04-21T07:55:27.012452017Z ...done.
2021-04-21T07:55:27.059030589Z * Starting MariaDB database server mysqld
2021-04-21T07:55:57.973672601Z ...fail!
禅道-Bee 2021-04-21 17:29:22
联系官网顶部商务QQ, 邀请加入禅道技术交流群, 群里沟通下, 会方便一些.
鲁先生 2021-04-17 13:55:50
使用了docker启动了禅道 成功了 但是不知道浏览器的访问地址
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7cd555ae2951 easysoft/zentao:12.3.3 "/.docker_init.sh" 41 minutes ago Up 41 minutes 0.0.0.0:1010->1010/tcp zentaonew


ifconfig


br-b664b1a04eca: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.172.172.1 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::42:9bff:fe2e:8c84 prefixlen 64 scopeid 0x20<link>
ether 02:42:9b:2e:8c:84 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0
ether 02:42:b0:57:af:cf txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


也按照启动了网络转发

求告知正确的ip方位地址
禅道-Bee 2021-04-19 09:27:32
联系下官网顶部的商务QQ,要求加入禅道技术交流群,群里截图看下操作过程,一起确认下。
Specter 2021-03-15 21:57:42
请问之前用的Linux一键安装包,我备份的时候把整个一起打包了。现在迁移到Docker,我需要怎样迁移呢?Docker已经做好了目录映射了
Specter 2021-03-15 22:47:50
我把之前项目用禅道内置备份的备份了。然后放到Docker的备份目录下,还原后会丢失数据么?(没有代码)
张玉洁 2021-03-16 09:17:11
禅道的后台--数据--备份页面默认会生成3个备份文件,分别是数据库、附件、代码。在docker环境安装同版本的禅道后,可以拷贝这3个备份文件到默认发备份页面下进行还原。还原过程有问题的话,可以添加网页上方QQ,邀请进群,方便截图排查问题。
王林 2021-03-16 09:26:47
1、参考文档安装禅道:https://www.zentao.net/book/zentaopmshelp/405.html
2、登录旧禅道,后台-数据-备份,备份后会生成3个备份文件,将3个备份文件拷贝到新安装禅道宿主机映射目录zentaopms/tmp/backup/下面,给backup目录递归设置777权限
3、登录新安装禅道,后台-数据-备份,点击还原。
4、注意,只能在相同版本之间进行操作,如果旧禅道版本低,建议先升级到最新版本
升级前请做好数据备份
升级请参考文档:http://www.zentao.net/book/zentaopmshelp/41.html
备份请参考文档:http://www.zentao.net/book/zentaopmshelp/42.html
robin 2021-03-12 18:27:20
按教程创建时,创建好admin管理原账户,但是无法登录一直提示账户密码错误,查看logs,提示数据库错误,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
张玉洁 2021-03-15 09:09:25
看一下zentao(pms)/config/my.php 文件中记录的数据库密码是否正确。如果修改为正确密码还是无法登陆,可以添加网页上方QQ,邀请进群,方便截图排查问题。
2021-03-08 10:33:47
docker中zentao镜像包怎样通过navicat连接mysql
禅道-Bee 2021-03-08 12:24:19
需要下Mysql的配置文件,开启下异机登录。
1. mysql库中user表中的hosts
2. my.cnf配置中的bind-address配置
建议和贵公司技术同事一起操作下。
1/3
发表评论
评论通过审核后显示。