这里使用docker安装,主要是按照官网给的安装出现了一些问题,这里分享给遇到相似问题的朋友。
官网:
禅道官网下载 - 禅道最新版本软件下载-b版 - 禅道项目管理软件
选择适合你的版本下载,这里使用的是Linux:
复制后使用docker安装,禅道官网这里会提供最新的版本,https://hub.docker.com 也不一定提供最新的:
docker pull hub.zentao.net/app/zentao:20.8
启动容器:
docker run -it -v $PWD/data:/data -p 8089:80 -e MYSQL_INTERNAL=false -e ZT_MYSQL_HOST=10.211.55.5 -e ZT_MYSQL_PORT=3306 -e ZT_MYSQL_USER=root -e ZT_MYSQL_PASSWORD=123456 -e ZT_MYSQL_DB=zentao hub.zentao.net/app/zentao:20.8
禅道官网不建议使用内置的数据库,最好自己本地安装了MySQL,所以-e MYSQL_INTERNAL=false。
报错:无法连接到数据库,修改数据库配置文件:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
改为你的本机(宿主机)地址:
重启MySQL服务:
sudo systemctl restart mysql.service
再次运行容器:
又报错,登录MySQL修改root权限,或者新建一个用户:
这里新建一个用户,使其允许从IP为172.17.0.2处登录:
create user 'root3'@'172.17.0.2' identified by '123456';
grant all privileges on *.* to 'root3'@'172.17.0.2' with grant option;
刷新权限:
flush privileges;
再次部署容器:
docker run -it -v $PWD/data:/data -p 8089:80 -e MYSQL_INTERNAL=false -e ZT_MYSQL_HOST=10.211.55.5 -e ZT_MYSQL_PORT=3306 -e ZT_MYSQL_USER=root3 -e ZT_MYSQL_PASSWORD=123456 -e ZT_MYSQL_DB=zentao hub.zentao.net/app/zentao:20.8
注意映射容器端口到宿主机时 :-p 8089:80, 容器端口是固定的80,宿主机可以是其他的端口,如果改了容器端口,即便显示服务已经启动成功,浏览器中也无法打开。
这里有具体的docker部署方法:
Docker和Kubernetes方式部署禅道 - 禅道使用手册 - 禅道项目管理软件
附:
-e参数配置:
docker run -it \
-v $PWD/data:/data \
-p 80:80 \
-e MYSQL_INTERNAL=false \
-e ZT_MYSQL_HOST=<你的MySQL服务地址> \
-e ZT_MYSQL_PORT=<你的MySQL服务端口> \
-e ZT_MYSQL_USER=<你的MySQL服务用户名> \
-e ZT_MYSQL_PASSWORD=<你的MySQL服务密码> \
-e ZT_MYSQL_DB=<禅道数据库名> \
hub.zentao.net/app/zentao
如果需要为禅道容器指定一个用于和宿主机交互的网络:
docker network create --subnet=10.211.55.0/24 zentao-net
0/24是指可以使用1到254任意一个IP,当然也可以直接指定一个:
docker network create --subnet=10.211.55.5 zentao-net
10.211.55.0 是网络地址,10.211.55.255 是广播地址,这两个地址通常不分配给任何主机。
启动容器时注意需要--ip参数和--network。