Docker部署禅道zentao
- 一、Docker部署禅道zentao(官方版)
- 二、Docker部署禅道zentao(简易版)
- 三、Docker部署禅道zentao(懒人版)
一、Docker部署禅道zentao(官方版)
一、环境准备
运行环境需成功部署Docker服务,推荐使用Docker 18版本以上,对主机环境没有要求。
可通过命令查看Docker版本。
[root@ZhongHao ~]# 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,以后发布产品也依照此格式。
导入镜像步骤如下:
- 选择合适的版本进行下载,拷贝至主机下某位置;
- 进入主机的镜像归档文件目录, 执行导入镜像命令。
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
备注:如果在单个主机上部署多个禅道系统,只需要指定不同的[容器名]、[主机端口]、[容器IP]、[mac地址]、[主机禅道目录]、[主机mysql目录]即可部署多个禅道系统,例如:sudo docker run --name zentao2 -p 8080:80 --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集成的话,不用安装)
- 进入容器
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:为什么容器挂载出来的/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
二、Docker部署禅道zentao(简易版)
一、查看服务器是否有禅道容器
docker ps -a # 查看到所有容器
二、从docker库下载禅道镜像
如果服务器上没有禅道容器或者禅道镜像,则从docker库中下载镜像
docker pull idoop/zentao
三、创建禅道挂载目录,运行镜像
mkdir -p /data/zbox && docker run -d -p 80:80 -p 3306:3306 \
-e USER="root" -e PASSWD="password" \
-e BIND_ADDRESS="false" \
-e SMTP_HOST="163.177.90.125 smtp.exmail.qq.com" \
-v /data/zbox/:/opt/zbox/ \
--name zentao-server \
idoop/zentao:latest
- 关于端口映射:将宿主机的80端口和3306端口分别映射到了禅道容器的80端口和3306端口,也可以进行自主更改。
- 关于挂载目录:将禅道容器的/opt/zbox/目录挂载到了宿主机的/data/zbox/下,实现目录同步。
- 关于命名:将运行生成的禅道容器命名为zentao-server
四、登陆禅道
在浏览器输入:http://服务器ip:80 即可访问到禅道容器。如果和禅道容器的80端口映射的是宿主机的其他端口,而非80端口,则将浏览器地址栏的端口号改成相应的宿主机端口即可。
三、Docker部署禅道zentao(懒人版)
1.安装
# 拉取镜像(最新的镜像中已经包含了mysql服务,不用重新搭建,也可以启动后更改配置连入自己的数据库)
docker pull idoop/zentao
# 运行镜像
docker run -d -p 6062:80 -p 6063:3306 -e ADMINER_USER="root" -e ADMINER_PASSWD="password" -e BIND_ADDRESS="false" -v /data/zbox/:/opt/zbox/ --add-host smtp.exmail.qq.com:47.112.182.87 --name zentao-server idoop/zentao:latest
- 启动完成后,使用IP+端口访问,默认用户名:admin,密码:123456;数据库用户:root,默认密码:123456
2.数据库
想改成自己的MySQL数据库,如下操作:
# 修改MySQL配置文件为自己的数据库连接即可
vi /data/zbox/app/zentao/config/my.php
# 复制文件(前面目录为禅道的基础数据,后面为你要使用的数据库目录)
cp /data/zbox/data/mysql/zentao/ /var/lib/mysql/
# 赋予权限
chown -R mysql:mysql /var/lib/mysql/zentao
注意:不同版本的禅道文件路径和文件名可能不一样,低版本的事my.cnf,查找即可
本文由网络收集整理,如有侵权,告知必删!