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

news2024/11/23 21:16:48

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/784351.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频的音频提取怎么做?这样提取很简单

提取视频中的音频通常在需要从视频中独立使用音频或需要对音频进行编辑时使用。例如,当我们需要将音频上传到音乐流媒体平台或将其用于播客或其他音频项目时,就可能需要从视频中提取音频。问题是该怎么提取呢?教给大家几种简单的提取方法&…

K8S系统监控:使用Metrics Server和Prometheus

Kubernetes 也提供了类似的linux top的命令,就是 kubectl top,不过默认情况下这个命令不会生效,必须要安装一个插件 Metrics Server 才可以。 Metrics Server 是一个专门用来收集 Kubernetes 核心资源指标(metrics)的…

电压放大器具体要求是什么

电压放大器是一种常见的电路结构,用于将输入信号放大成输出信号。在实际应用中,电压放大器需满足多个方面的要求,以确保其性能和稳定性。下面安泰电子将详细介绍电压放大器的具体要求。 1.放大器的增益 电压放大器的主要功能之一是对输入信号…

python求列表的交集、并集、差集

有这样一个场景,线上有一些生效的策略判断哪些是作弊订单,你通过数据挖掘挖掘了一些特征也判断了一些作弊订单,现在需要下你挖掘出来的特征的效果,那么主要关注两方面: (1)你的特征对于作弊订单…

QT字节数组类QByteArray

QT字节数组类QByteArray 初始化访问某个元素截取字符串获取字节数组的大小数据转换与处理Hex转换数值转换与输出 字母大小写转换字符串数值转化为各类数值QBQyteArray和char*互转QByteArray 和std::string互转与字符串QString互转QByteArray和自定义结构体之间的转化判断是否为…

【人工智能】对研究方法,智能模拟,学科范畴,涉及学科,研究范畴,安全问题,实现方法,人工智能与人类差距等方面的详细讲解

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: 七七的闲谈 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖&#x1f…

Qt Core学习日记——第五天QMetaProperty

QMetaProperty代表类的属性 用Q_PROPERTY在类中声明属性 在moc会有具体变量名称字符串 函数分析: QMetaProperty::isEnumType 判断这个属性是否是枚举。 QMetaProperty::enumerator 获取属性对应的枚举信息,如果不是枚举返回未定义的QMetaEnum QMetaPr…

关于 Qt在windows使用mingw32编译器时从Qt5.9切换至Qt5.12出现“C2001:常量中有换行符“不修改编码 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131901444 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

[Angular] Import TranslateModule in Angular 16

1.Background Angular 更新至V16版后,支援 standalone,故移除了 NgModule,而TranslateModule 又要在AppModule中 import,那该如何做呢? 2.NPM packages installation npm install ngx-translate/core npm install n…

ElasticSearch Java API 操作

1.idea创建Maven项目 2.添加依赖 修改 pom.xml 文件 <dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>7.8.0</version></dependency><!-- elasticsearch 的客户端 --…

大型企业采购云管平台的需求是什么?选择哪家厂商好?

很多大型企业已经上云&#xff0c;但一直找不到合适的云管平台。今天我们就来一起简单聊聊大型企业采购云管平台的需求是什么&#xff1f;选择哪家厂商好&#xff1f; 大型企业采购云管平台的需求是什么&#xff1f; 对于大型企业而言&#xff0c;多云管理的主要痛点是海量异…

【C++】深入浅出STL之string类

文章篇幅较长&#xff0c;越7万余字&#xff0c;建议电脑端访问 文章目录 一、前言1、C语言中的字符串2、string类的使用场景 二、初步认识string类1、概述2、常用接口细述1&#xff09;string类对象的默认成员函数2&#xff09;string类对象的常见容量操作① size、length、ca…

linux系统的JDK11安装详细教程

下载jdk jdk-15.0.2.exe等4个文件官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘 安装插件 yum -y install lrzsz 1、上传linux 系统的jdk 切换linux系统需要安装路径 cd /usr/local/ rz 直接回车会弹出本地电脑上传路径 2.命令&#xff1a;tar -zxvf 需要解压的…

[Linux]环境变量 进程地址空间(虚拟内存与物理内存的关系)

hello,大家好&#xff0c;这里是bang_bang&#xff0c;今天我们来讲一下语言层级上的程序地址空间和系统层级上的进程地址空间的区别&#xff0c;在下面中我举的例子会设计到环境变量&#xff0c;所以开篇我先讲讲环境变量。 目录 1️⃣环境变量 &#x1f359; 基本概念 &am…

android studio JNI开发

一、JNI的作用&#xff1a; 1.使Java与本地其他类型语言&#xff08;C、C&#xff09;交互&#xff1b; 2.在Java代码调用C、C等语言的代码 或者 C、C调用Java代码。 由于JAVA具有跨平台的特点&#xff0c;所以JAVA与本地代码的交互能力弱&#xff0c;采用JNI特性可以增强JA…

手写Nacos基本原理——服务注册 配置管理

手写Nacos基本原理 一、背景介绍二、 思路方案三、过程nacosService代码pom文件配置文件具体类 nacosSDK代码pom文件配置类具体类 serviceA代码pom文件配置文件具体类 serviceB代码pom文件配置文件具体类 实现效果四、总结五、升华 一、背景介绍 之前在项目开发的过程中&#…

Java 贪心算法经典问题解决

文章目录 分金条题目思路代码实现测试用例以及结果输出 花费资金做项目最大收益题目思路代码实现测试用例以及结果输出 预定会议室题目思路代码实现测试用例以及结果输出 取中位数题目思路代码实现测试用例以及结果输出 最低字典序题目思路代码实现测试用例以及结果输出 结语 分…

如何在工作中利用Prompt高效使用ChatGPT

导读 AI 不是来替代你的&#xff0c;是来帮助你更好工作。用better prompt使用chatgpt&#xff0c;替换搜索引擎&#xff0c;让你了解如何在工作中利用Prompt高效使用ChatGPT。 01背景 现在 GPT 已经开启了人工智能狂潮&#xff0c;不过是IT圈&#xff0c;还是金融圈。 一开…

【线性规划、非线性规划、多目标规划】

有限的条件下&#xff0c;最大的收益 线性规划就是在一组线性约束条件下&#xff0c;求线性目标函数的最大或者最小值 线性就是指所有的变量都是一次方 整数规划、0-1规划都是默认为线性规划的特例 MATLAB自带的函数求解线性规划问题&#xff1a; Linprog函数 模型化为MATL…

docker+Jenkins

拉取镜像 docker pull jenkins/jenkins启动容器 8080端口映射58080 jenkins_home 映射本地/data/下方便查看 docker run -d -p 58080:8080 -p 5000:50000 -v /data/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins访问ip:5…