Docker方式部署禅道
使用博主自己的初始化脚本和自动安装docker
[root@gitlab Centos7]# git clone https://github.com/cncentoscn/Centos7
[root@gitlab Centos7]# cd Centos7/
[root@gitlab Centos7]# sh basis.sh
[root@gitlab Centos7]# sh docker.sh
查看docker版本
[root@gitlab ~]# docker -v
Docker version 19.03.12, build 48a66213fe
在线下载
可根据所需版本拉取对应版本的镜像,默认latest为禅道开源最新版本。
[root@gitlab ~]# docker pull easysoft/zentao
查看镜像
[root@gitlab ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
easysoft/zentao latest 69694f5e329a 3 weeks ago 600MB
启动禅道容器
创建docker网络驱动,切勿和本机IP是一个网段。
[root@gitlab ~]# docker network create --subnet=172.172.172.0/24 zentaonet
22475a43f4771e8c852016122a3b2c06d90268a26f76469837fd5056db8fe5fa
启动禅道容器
命令格式如下:
sudo docker run --name [容器名] -p [主机端口]:80 --network=[网络驱动名] --ip [容器IP] --mac-address [mac地址] -v [主机禅道目录]:/app/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变量来更改密码;
镜像标签:禅道版本。
例如:在主机上创建空目录/app/zentaopms和/app/mysqldata,执行如下命令
[root@gitlab ~]# mkdir -p /app/zentaopms
[root@gitlab ~]# mkdir -p /app/mysqldata
[root@gitlab ~]# 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
查看容器是否启动成功
执行如下命令查看容器是否启动成功,如果没有则启动失败,去掉-d选项进行前台运行调试容器,如有任何问题请咨询禅道商务同事。
[root@gitlab ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
261aca96b3e2 easysoft/zentao "/app/docker-entrypo…" 42 seconds ago Up 41 seconds 0.0.0.0:80->80/tcp zentao
安装禅道
浏览器直接访问 http://容器ip:宿主机映射端口