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

相关推荐
后端小张32 分钟前
Redis 执行 Lua,能保证原子性吗?
数据库·redis·缓存
离开地球表面_9933 分钟前
索引失效?查询结果不正确?原来都是隐式转换惹的祸
数据库·后端·mysql
lipviolet40 分钟前
Redis系列---Redission分布式锁
数据库·redis·分布式
Zhen (Evan) Wang42 分钟前
.NET 6 API + Dapper + SQL Server 2014
数据库·c#·.net
毕设木哥1 小时前
25届计算机专业毕设选题推荐-基于python+Django协调过滤的新闻推荐系统
大数据·服务器·数据库·python·django·毕业设计·课程设计
_道隐_2 小时前
如何在Windows上安装Docker
windows·docker
洛阳泰山2 小时前
Llamaindex 使用过程中的常见问题 (FAQ)
java·服务器·数据库·python·llm·rag·llamaindex
没有名字的小羊2 小时前
Linux基础命令——账户简单管理
linux·运维·服务器·网络·数据库
单字叶2 小时前
MySQL数据库管理
数据库·mysql
ID_云泽2 小时前
MVCC机制解析:提升数据库并发性能的关键
数据库·mvcc