使用 Docker Compose 部署禅道(Zentao)项目管理工具
禅道(Zentao)是一款专注于研发项目管理的开源工具,内置需求管理、任务管理、Bug管理、缺陷管理、进度管理、计划发布等功能,支持软件的完整生命周期管理。本文将手把手教你如何使用 Docker Compose 部署禅道,快速搭建一个项目管理环境。
一、环境准备
在开始之前,确保你的服务器或本地环境已经安装了以下工具:
Docker:容器化平台,用于运行禅道容器。
安装命令(以 Ubuntu 为例):
`bash
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
`
Docker Compose:用于编排容器的工具。
安装命令:
`bash
sudo curl -L "https://github.com/docker/compose/releases/download/v2.12.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
`
二、创建数据存放目录
禅道的运行需要存储数据,因此我们需要提前创建数据目录。以下是创建目录的命令:
sudo mkdir -p /root/deployment/zentao
sudo chmod -R 777 /root/deployment/zentao
/root/deployment/zentao:这是禅道的数据存储目录,用于存放配置文件、数据库文件等。
三、编写 Docker Compose 配置文件
在 /root/deployment/zentao 目录下创建一个名为 docker-compose.yml 的文件,内容如下:
version: '3.8'
services:
zentao:
image: zentao/zentao:latest
container_name: zentao
ports:
- "90001:80"
volumes:
- /root/deployment/zentao:/var/www/html
environment:
- ZENTAO_DB_HOST=mysql
- ZENTAO_DB_NAME=zentao
- ZENTAO_DB_USER=root
- ZENTAO_DB_PASSWORD=12345
mysql:
image: mysql:5.7
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=12345
- MYSQL_DATABASE=zentao
volumes:
- /root/deployment/zentao/mysql:/var/lib/mysql
zentao:禅道服务,映射端口为 90001,数据存储在 /root/deployment/zentao。
mysql:数据库服务,使用 MySQL 5.7,数据存储在 /root/deployment/zentao/mysql。
四、启动容器
在 /root/deployment/zentao 目录下运行以下命令启动容器:
docker-compose up -d
-d:后台运行容器。
启动后,Docker 会自动拉取禅道和 MySQL 的镜像。如果镜像尚未缓存,拉取过程可能需要一些时间。
五、初始化禅道
禅道启动后,可以通过浏览器访问 http://<服务器IP>:90001,进入初始化界面。以下是初始化步骤:
访问安装界面:
在浏览器中输入 http://192.168.1.21:90001(将 IP 替换为你的服务器 IP)。
检查环境:
点击“开始安装”,系统会自动检查运行环境,确保所有检查项通过。
设置数据库密码:
数据库密码默认为 12345,可以自行修改。
设置管理员账户:
- 公司名称:Demo
- 管理员用户名:Admin
- 管理员密码:adme
修改密码:
系统会要求修改初始密码,确保密码符合复杂度要求。例如:A1!。
完成安装:
安装完成后,登录系统,进入禅道的 Web 界面。
六、常见问题(FAQ)
以下是关于禅道部署的常见问题及解答:
问题 答案
1. Docker Compose 无法启动容器? 确保 Docker 和 Docker Compose 已正确安装,检查 docker-compose.yml 文件的语法是否正确。
2. 数据库连接失败? 确保 MySQL 容器已启动,检查 ZENTAO_DB_HOST 和 ZENTAO_DB_PASSWORD 是否正确。
3. 端口被占用怎么办? 修改 docker-compose.yml 文件中禅道的端口映射,例如将 90001 改为其他未占用端口。
4. 镜像拉取速度慢? 使用国内镜像加速器,例如阿里云 Docker 镜像服务。
5. 安装界面无法访问? 确保服务器防火墙已开放对应的端口(如 90001)。
七、禅道与其他工具的对比
以下是禅道与其他项目管理工具的对比:
特性/工具 禅道(Zentao) Jira Redmine
开源性 免费开源 商业版收费 免费开源
语言支持 中文为主 英文为主 多语言支持
功能丰富度 需求管理、任务管理、Bug管理 任务管理、Bug管理 任务管理、Bug管理
部署复杂度 简单 较复杂 简单
社区活跃度 中等 高 中等
八、代码示例
以下是部署禅道的完整代码示例:
1. 创建数据目录
sudo mkdir -p /root/deployment/zentao
sudo chmod -R 777 /root/deployment/zentao
2. Docker Compose 配置文件
version: '3.8'
services:
zentao:
image: zentao/zentao:latest
container_name: zentao
ports:
- "90001:80"
volumes:
- /root/deployment/zentao:/var/www/html
environment:
- ZENTAO_DB_HOST=mysql
- ZENTAO_DB_NAME=zentao
- ZENTAO_DB_USER=root
- ZENTAO_DB_PASSWORD=12345
mysql:
image: mysql:5.7
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=12345
- MYSQL_DATABASE=zentao
volumes:
- /root/deployment/zentao/mysql:/var/lib/mysql
3. 启动容器
docker-compose up -d
通过本文的详细讲解,你已经可以使用 Docker Compose 部署禅道(Zentao)项目管理工具,快速搭建一个高效的项目管理环境。