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容器异常时自动重启。

相关推荐
疯子@12314 小时前
nacos1.3.2 ARM 版容器镜像制作
java·linux·docker·容器
爱吃烤鸡翅的酸菜鱼14 小时前
【Redis】常用数据结构之Hash篇:从常用命令到使用场景详解
数据结构·数据库·redis·后端·缓存·哈希算法
李少兄15 小时前
IntelliJ IDEA 启动项目时配置端口指南
数据库·sql·intellij-idea
NineData15 小时前
NineData云原生智能数据管理平台新功能发布|2025年8月版
数据库·mongodb·云原生·数据库管理工具·ninedata·数据库迁移·数据复制
白云如幻15 小时前
【Java】QBC检索和本地SQL检索
java·数据库·sql
勘察加熊人16 小时前
python将pdf转txt,并切割ai
数据库·python·pdf
不良人天码星16 小时前
Redis单线程模型为什么快?
数据库·redis·缓存
yuxb7316 小时前
Docker 学习笔记(七):Docker Swarm 服务管理与 Containerd 实践
笔记·学习·docker
RestCloud17 小时前
ETL 不只是数据搬运工:如何实现智能转换与清洗?
数据库·api
lu9up17 小时前
因表并行引发的血案【故障处理案例】
数据库·oracle·dba