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
贾冬冬
66082
最后编辑:王林 于 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



评论列表
小黄 2021-10-21 14:39:44
使用docker部署15.2版本之后,容器没有mysql,也没有mysql的配置文件,我该怎么处理
禅道 - 闫敏 2021-10-21 17:37:07 回复
docker 日志信息展示什么数据, 另外访问容器apache端口什么提示?
联系官网商务同事邀请群里截图看下
郭先生 2021-10-19 12:22:28
今天刚通过 docker pull easysoft/zentao:latest 方式拉取的最新镜像
在 CentOS + Nginx 环境下部署Docker容器,
容器启动后,进入 install.php 界面开始安装,勾选协议,环境检查都通过了,
进入到配置界面,填写数据库密码后,点击“保存”按钮,就有跳转到最初的 install.php 界面了,
不能正常进入到 my.php 界面完成安装。
数据库服务地址填127.0.0.1和localhost都试过了。

服务器:CentOS 7.9 64位 + Nginx
浏览器:Microsoft Edge

请问这个问题该如何解决?盼回复,谢谢!
禅道 - 闫敏 2021-10-19 16:54:48 回复
1. 进入 docker 容器内部, 执行mysql 按照填写的musql 配置 ,能进入数据库吗?
2. zentao(pro/ep/pms)/config/my.php 中 debug 值改为 true , 浏览器重新操作下;
截图 zentao(pro/ep/pms)/tmp/log/,php 开头今天的日志内容。注意:不要找 sql saas开头文件;
日志信息也看下, 如果没有my.php 或者日志信息的话 , ps -ef | grep mysql 看下容器内部 mysql 是否启动, 没启动的话, 重新启动下mysql 服务
3 还是有问题的话, 联系首页商务qq 邀请到技术交流群看下
simonFu 2021-10-20 16:21:09 回复
就是镜像版本问题,不要用latest,latest是15.5版本,改成15.2版本就一切正常了
禅道-Bee 2021-10-21 08:33:37 回复
直接用容器的ip 端口访问安装看下呢?不要用nginx代理的ip 端口部署。
2021-10-15 11:58:14
version: "3"

services:
server:
image: easysoft/zentao
container_name: zentao
environment:
- MYSQL_ROOT_PASSWORD=123456
restart: always
networks:
- zentaonet
volumes:
- /d/docker/data:/www/zentaopms
- /d/docker/mysql:/var/lib/mysql
ports:
- "18080:80"
- "13306:3306"

networks:
zentaonet:

贴一份部署成功的 docker-compose ,供大家参考。 这个环境是 Windows下的 WSL2的 docker-compose。
SYJQL 2021-09-24 10:37:28
启动容器,日志报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),有没有人解决?
阿龙 2021-09-24 13:17:21 回复
报错是禅道连接数据库时密码不对,确认下自己设置的密码。
可以联系下我们商务QQ,进群方便沟通信息。
SYJQL 2021-09-24 14:44:12 回复
问题我已经解决。

解决办法:
vi /etc/sysctl.conf
net.ipv4.ip_forward=1 #添加这段代码

#重启network服务
systemctl restart network && systemctl restart docker
禅道-Bee 2021-09-24 14:53:33 回复
点赞
phevose 2021-09-10 08:59:53
做了个基于alpine的镜像,只有61M,欢迎使用
https://hub.docker.com/repository/docker/phevose/zentao
王林 2021-09-10 09:16:05 回复
谢谢支持
2021-09-09 23:04:14
docker方式全部安装完毕后,远程连接数据库怎么都连不上,步骤都一步一步走的。
王林 2021-09-10 09:13:50 回复
需要连接容器内的mysql,要在拉起容器时候将3306端口一起映射出来的
禅道开源15 2021-09-01 16:21:08
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),这个是什么问题?容器内可以进入mysql
禅道-Bee 2021-09-01 16:44:10 回复
这块可以忽略,禅道可以正常访问了吗?
conmi 2021-08-23 23:27:53

version: "3"
services:
zentao:
image: "easysoft/zentao:12.3.3"
container_name: "zentao"
restart: "always"

environment:
MYSQL_ROOT_PASSWORD: "123456"

ports:
- "60080:80"
- "63306:3306"

volumes:
- ./www/zentaopms:/www/zentaopms
- ./www/mysqldata:/var/lib/mysql
docker-compose部署无效
于涛 2021-08-24 09:21:07 回复
您好,方便添加一下页面上方的商务QQ,将docker容器启动命令截图发我们看下吗?需要确认一下细节信息
六六六六六六六六六六六六六六六六 2021-08-02 10:38:15
docker run --name zentao -p 16600:80 -v /home/docker_data/zentao:/www/zentaopms -v /home/docker_data/zentao/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d easysoft/zentao:15.2
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
7b5061f94a27f5a51dd6aee917de5f80b92de970f7a7c9e9b581645968e903ca
请问有arm64位的docker镜像吗?
禅道-Bee 2021-08-02 16:44:13 回复
目前没有arm架构的镜像,可以自己搭建下php mysql apache环境,源码安装下试试。
wa 2021-06-25 07:25:52
docker 安装 不会生成 my.php并且 也无法启动页面
禅道-Bee 2021-06-25 10:10:32 回复
官网docker镜像构建之后,需要访问install.php安装,安装之后才会生成my.php文件。可以重新构建下试试。如果还是不行,可以联系官网顶部商务QQ,邀请加入技术交流群沟通。
1/4
发表评论
评论通过审核后显示。