docker 禅道 不使用自建数据库 使用自定义数据库

网上关于docker 禅道使用非自带数据库资料好少,所以记录下,希望能帮助更多的人。

据说:

其他镜像都是内置了数据库,

如果使用外置的数据库,可以使用这个镜像 ​easysoft/quickon-zentao ​

以上未知真伪;试一下,成功了。

可以打开参考下的网址:

https://www.python100.com/html/85984.html

https://www.zentao.net/ask/596595.html

1、 docker search zentao 没搜到

2、 docker pull easysoft/zentao:latest 直接拉

3、拉到了。

4、如果有必要,你先在数据库建个禅道的数据库 zentao , 必须用 root 账号

5、也有可能是禅道自己会建

6、docker run --name zentao -p 10011:80 -v /data/docker/zentao:/www/zentaopms -e MYSQL_DATABASE=zentao -e MYSQL_USER=root -e MYSQL_HOST='172.19.71.127' -e MYSQL_PORT=63306 -e INIT_DATABASE=1 -e MYSQL_PASSWORD=ajabBWtmzh4jWkZF -d easysoft/quickon-zentao:latest

7、如果不知道以上参数何意,那就看文末

8、我踩的坑是

上面数据库用户名必须是 root

MYSQL_ROOT_PASSWORD 不行,必须是 MYSQL_PASSWORD

MYSQL_HOST 是机器的内网地址

9、

docker logs -f zentao 查看日志

21:16:37.17 WARN ==> Please open the browser to complete the installation through the wizard.

如果是以上日志,就到浏览器打开 按照提示操作即可 ,注意上面,我的端口是10011

10、参数说明

--name [容器名] 设置容器名称

-p [主机端口]:80 绑定端口

-v /home/zentao/zentaopms:/www/zentaopms 挂载数据目录

/home/zentao/mysql:/var/lib/mysql 挂载数据库目录

-e MYSQL_ROOT_PASSWORD=[数据库密码] 设置数据库密码

MYSQL_ROOT_PASSWORD 注意这玩意儿,我也不知道为啥有的地方是这个,有的地方是 MYSQL_PASSWORD,估计是版本问题

容器内部的时间和宿主机时间不一致?

我们只需要在启动禅道容器的时候,加上参数: -v /etc/localtime:/etc/localtime:ro,即:

官方给的命令:

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变量来更改密码;

镜像标签:禅道版本。

实际上我们只需要按如下命令启动容器即可:

docker run --name zentao-server --restart always -d -p 80:80 -v /ichint/zentaopms:/www/zentaopms -v /ichint/mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 easysoft/zentao:12.3.3

其中 --restart always 意思是在docker容器异常时自动重启。

相关推荐
NineData1 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师3 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石7 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
fetasty9 小时前
rustfs加picgo图床搭建
docker
蝎子莱莱爱打怪1 天前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
小p2 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库