基于Docker-compose的禅道部署实践:自建MySQL与Redis集成及故障排查指南

news2025/2/15 15:04:40

基于Docker-compose的禅道部署实践:自建MySQL与Redis集成及故障排查指南

禅道镜像版本:easysoft/zentao:21.4

Redis版本:redis:6.2.0

Mysql版本:mysql:8.0.35

文章目录

  • **基于Docker-compose的禅道部署实践:自建MySQL与Redis集成及故障排查指南**
      • 一.环境准备
      • 二.编写部署文件
      • 三.网页初始化以及可能遇到的问题
      • 四.遇到的问题以及解决方法
        • 1.问题描述
        • 2.解决办法和问题原因

一.环境准备

#检查是否安装docker-compose
docker-compose --version

image-20250213164350948

#如果没安装则可以执行以下命令安装
wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64
chmod +x /usr/local/bin/docker-compose
#新建挂载目录
mkdir -p /home/zentao
cd /home/zentao

二.编写部署文件

官方的Yml文件地址如下:go-zentao/hack/docker-compose-cache.yml at master · easysoft/go-zentao

因为此次部署是在已有Mysql和Redis的情况下搭建,所以修改为以下内容:

services:
# zentao service
  zentao:
    image: easysoft/zentao:21.4
    container_name: zentao
    pull_policy: always
    restart: always
    ports:
      - '19080:80'
    volumes:
      - '/home/zentao/data:/data'
    environment:
      - ZT_MYSQL_HOST=<your mysql ip>
      - ZT_MYSQL_PORT=3306
      - ZT_MYSQL_USER=root
      - ZT_MYSQL_PASSWORD=<your mysql pass>
      - ZT_MYSQL_DB=paco_zentao #数据库名字随意写
      - ZT_REDIS_HOST=<your redis ip>
      - ZT_REDIS_PORT=6379
      - ZT_REDIS_PASSWORD=<your redis pass>
      - ZT_REDIS_SERIALIZER=igbinary
      - ZT_CACHE_ENABLE=true
      - ZT_CACHE_TYPE=redis
      - ZT_CACHE_SCOPE=private
      - ZT_CACHE_LIFETIME=0
      - ZT_REDIS_DATABASE=1
      - PHP_MAX_EXECUTION_TIME=120
      - PHP_MEMORY_LIMIT=512M
      - PHP_POST_MAX_SIZE=128M
      - PHP_UPLOAD_MAX_FILESIZE=128M
    networks:
      - zentao-net
networks:
  zentao-net:
    driver: bridge

鉴于大部分人无法拉取到docker hub的镜像,此处有两个方法解决:

1.替换Zentao自己的国内镜像源

# 国内镜像
# image: hub.zentao.net/app/zentao

2.自己搭建一个私有仓库,然后同步到自己的仓库去

参考教程:阿里云容器镜像服务搭一个自己的镜像仓库_aliyun仓库怎么容器镜像-CSDN博客

image-20250213172855611
准备好yml之后就可以运行容器:

#确保yml在/home/zentao目录下
docker-compose up -d

image-20250213171221470

执行成功后如上图所示等待输出,服务已启动完成, 请使用浏览器访问设置的域名或ip:port, 继续完成后续安装向导这段话后。就可以通过IP+19080端口访问禅道了。
image-20250213171248609
然后我们在网页上进行初始化操作。

三.网页初始化以及可能遇到的问题

访问网页后就会看见如下界面。点击开始安装然后一直下一步。

在这里插入图片描述
直到这个页面,确认检查全部通过,然后下一步。
image-20250213171645366

然后确认这个页面的信息是你配置的docker-compose文件中的数据库信息,这一步如果数据库是已经安装过一次了,就必须勾选清空现有数据选项。

image-20250213171744675

然后会继续安装数据库表

image-20250213171838022

正常流程,在数据库安装完成后,点下一步,会直接生成配置文件并保存。如图:

image-20250213173609429

然后设置账号:

image-20250213173700538

然后点击登录:

image-20250213173827545

image-20250213173844661

然后我们在后台,系统设置中的缓存里,点击Redis配置,就能看到已经自动填上了Redis的信息,就部署完成了。
image-20250213173942541

四.遇到的问题以及解决方法

1.问题描述

在网页初始化时,数据库安装完成后,点下一步,正常步骤,会直接生成配置文件并保存。但是我在第一次安装的时候,点击下一步,出现如下情况,提示还没有生成配置文件。

img_v3_02je_db5ddd62-803d-4265-a1ad-64591ba42c4g

2.解决办法和问题原因

在与官方工作人员确定之后,发现出现问题的原因是,我在部署的时候,Redis的密码有特殊字符,导致部署时无法连接上Redis。禅道系统就无法生成session。最后导致生成不了配置文件,我部署的Yml如下:

services:
# zentao service
  zentao:
    image: easysoft/zentao:21.4
    container_name: zentao
    pull_policy: always
    restart: always
    ports:
      - '19080:80'
    volumes:
      - '/home/zentao/data:/data'
    environment:
      - ZT_MYSQL_HOST=<your mysql ip>
      - ZT_MYSQL_PORT=3306
      - ZT_MYSQL_USER=root
      - ZT_MYSQL_PASSWORD=<your mysql pass>
      - ZT_MYSQL_DB=paco_zentao #数据库名字随意写
      - ZT_REDIS_HOST=<your redis ip>
      - ZT_REDIS_PORT=6379
      - ZT_REDIS_PASSWORD=RBzT,v2y56
      - ZT_REDIS_SERIALIZER=igbinary
      - ZT_CACHE_ENABLE=true
      - ZT_CACHE_TYPE=redis
      - ZT_CACHE_SCOPE=private
      - ZT_CACHE_LIFETIME=0
      - ZT_REDIS_DATABASE=1
      - PHP_MAX_EXECUTION_TIME=120
      - PHP_MEMORY_LIMIT=512M
      - PHP_POST_MAX_SIZE=128M
      - PHP_UPLOAD_MAX_FILESIZE=128M
    networks:
      - zentao-net
networks:
  zentao-net:
    driver: bridge

可以看到RBzT,v2y56有特殊字符,,但是碍于环境限制,没法修改Redis密码,所以只能去掉docker-compose.ymlRedis的相关配置,在部署好之后,于网页中自行配置Redisyml如下:

services:
# zentao service
  zentao:
    image: registry.cn-hangzhou.aliyuncs.com/docker_image-ljx/zentao:21.4
    container_name: zentao
    pull_policy: always
    restart: always
    ports:
      - '19080:80'
    volumes:
      - '/home/zentao/data:/data'
    environment:
      - ZT_MYSQL_HOST=<your mysql ip>
      - ZT_MYSQL_PORT=13306
      - ZT_MYSQL_USER=root
      - ZT_MYSQL_PASSWORD=<your mysql pass>
      - ZT_MYSQL_DB=paco_zentao
      - PHP_MAX_EXECUTION_TIME=120
      - PHP_MEMORY_LIMIT=512M
      - PHP_POST_MAX_SIZE=128M
      - PHP_UPLOAD_MAX_FILESIZE=128M
    networks:
      - zentao-net
networks:
  zentao-net:
    driver: bridge

配置Redis的界面还是在这个地方自行配置,效果是一样的:

这个问题,工作人员说会在后续的镜像中修复。

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

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

相关文章

AIGC与AICG的区别解析

目录 一、AIGC&#xff08;人工智能生成内容&#xff09; &#xff08;一&#xff09;定义与内涵 &#xff08;二&#xff09;核心技术与应用场景 &#xff08;三&#xff09;优势与挑战 二、AICG&#xff08;计算机图形学中的人工智能&#xff09; &#xff08;一&#x…

基于 openEuler 构建 LVS-DR 群集

一、 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式&#xff0c;比较其各自的优势 。 二、 基于 openEuler 构建 LVS-DR 群集。 一 NAT 模式 部署简单&#xff1a;NAT 模式下&#xff0c;所有的服务器节点只需要连接到同一个局域网内&#xff0c;通过负载均衡器进行网络地址转…

深入指南:在IDEA中启用和使用DeepSeek

引言 2025年的春节可以说是人工智能在中国史上飘红的一段历史时刻&#xff0c;年后上班的第一天&#xff0c;便马不停蹄的尝试新技能。今天的科技在飞速发展&#xff0c;编程领域的人工智能工具犹如雨后春笋般涌现。其中&#xff0c;DeepSeek 则以其卓越的性能和智能化的功能&a…

深入剖析 Burp Suite:Web 应用安全测试利器

目录 前言 一、Burp Suite 简介 二、功能组件详解 三、使用场景 四、安装与使用步骤 安装步骤 使用步骤 五、总结 前言 在网络安全的复杂版图中&#xff0c;Burp Suite 宛如一颗璀璨的明珠&#xff0c;以其强大的功能和广泛的适用性&#xff0c;成为众多安全从业者不可…

unity学习37:新版的动画器:动画状态机 Animator

目录 1 给游戏物体添加&#xff0c;新版的动画器 Animator 2 关于 Animator 3 创建 动画器的控制器 Animator Controller 4 打开动画编辑器 Animator 5 动画编辑器 还是Animation 5.1 创建新的动画 5.2 创建第2个动画 5.3 测试2个动画均可用 6 再次打开动画编辑器 A…

LC-搜索二维矩阵II、相交链表、反转链表、回文链表、环形链表、环形链表ll

搜索二维矩阵II 方法&#xff1a;从右上角开始搜索 我们可以从矩阵的右上角开始进行搜索。如果当前元素 matrix[i][j] 等于 target&#xff0c;我们直接返回 true。如果 matrix[i][j] 大于 target&#xff0c;说明 target 只能出现在左边的列&#xff0c;所以我们将列指针向左…

【MySQL在Centos 7环境安装】

文章目录 一. 卸载不必要的环境二. 检查系统安装包三. 卸载这些默认安装包四. 获取mysql官⽅yum源五. 安装mysql yum 源&#xff0c;对⽐前后yum源六. 看看能不能正常⼯作七. 安装mysql服务八. .查看配置⽂件和数据存储位置九. 启动服务并查看服务是否存在十. 登陆⽅法十一. 设…

计算机网络-MPLS基础概念

早期传统IP报文依赖路由器查询路由表转发&#xff0c;但由于硬件技术存在限制导致转发性能低&#xff0c;路由器的查表转发成为了网络数据转发的瓶颈。因此旨在提高路由器转发速度的MPLS&#xff08;Multi-Protocol Label Switching&#xff0c;多协议标签交换&#xff09; 被提…

NO.18十六届蓝桥杯备战|循环嵌套|乘法表|斐波那契|质数|水仙花数|(C++)

循环嵌套 循环嵌套的使⽤ while &#xff0c; do while &#xff0c; for &#xff0c;这三种循环往往会嵌套在⼀起才能更好的解决问题&#xff0c;就是我们所说的&#xff1a;循环嵌套。这三种循环都可以任意嵌套使⽤ ⽐如&#xff1a; 写⼀个代码&#xff0c;打印⼀个乘法⼝…

支持向量机原理

支持向量机&#xff08;简称SVM&#xff09;虽然诞生只有短短的二十多年&#xff0c;但是自一诞生便由于它良好的分类性能席卷了机器学习领域。如果不考虑集成学习的算法&#xff0c;不考虑特定的训练数据集&#xff0c;尤其在分类任务中表现突出。在分类算法中的表现SVM说是排…

LLM - 理解 DeepSeek 的 GPRO (分组相对策略优化) 公式与源码 教程(2)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/145640762 GPRO&#xff0c;即 Group Relative Policy Optimization&#xff0c;分组相对的策略优化&#xff0c;是 PPO(Proximal Policy Optimiz…

基于springboot 以及vue前后端分离架构的求职招聘系统设计与实现

基于springboot 以及vue前后端分离架构的求职招聘系统设计与实现 随着互联网技术的飞速发展&#xff0c;求职招聘行业也在不断发生变革。传统的求职招聘方式往往存在着信息不对称、效率低下、交易成本高等问题&#xff0c;导致企业的招聘成本增加&#xff0c;求职者的体验下降…

Spring Boot整合协同过滤算法,实现个性化推荐

1. 引言 在这篇文章中&#xff0c;我们将展示如何使用 Spring Boot 框架与 协同过滤算法 相结合来构建一个简单的推荐系统。推荐系统广泛应用于电商、电影推荐、社交平台等领域。协同过滤算法通过分析用户行为&#xff0c;找出相似的用户或者物品&#xff0c;从而实现个性化推荐…

自己部署 DeepSeek 助力 Vue 开发:打造丝滑的时间线(Timeline )

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 自己…

光谱相机在天文学领域的应用

天体成分分析 恒星成分研究&#xff1a;恒星的光谱包含了其大气中各种元素的吸收和发射线特征。通过光谱相机精确测量这些谱线&#xff0c;天文学家能确定恒星大气中氢、氦、碳、氮、氧等元素的含量。如对太阳的光谱分析发现&#xff0c;太阳大气中氢元素占比约 71%&#xff0…

深度卷积神经网络实战海洋动物图像识别

本文采用深度卷积神经网络作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv11以其高效的特征提取能力&#xff0c;在多个图像分类任务中展现出卓越性能。本研究针对5种海洋动物数据集进行训练和优化&#xff0c;该数据集包含丰富的海…

MySQL-mysql zip安装包配置教程

网上的教程有很多&#xff0c;基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很多个教程才安装好的&#xff0c;所以本教程可能也不是普遍适合的。 安装环境&#xff1a;win11 1、下载zip安装包&#xff1a; MySQL8.0 For Windows zip包下载地址…

ECP在Successfactors中paylisp越南语乱码问题

导读 pyalisp:ECP中显示工资单有两种方式&#xff0c;一种是PE51&#xff0c;一种是hrform&#xff0c;PE51就是划线的那种&#xff0c; 海外使用的比较多&#xff0c;国内基本没人使用&#xff0c;hrform就是pdf&#xff0c;可以编辑pdf&#xff0c;这个国内相对使用的人 比…

PDF另存为图片的一个方法

说明 有时需要把PDF的每一页另存为图片。用Devexpress可以很方便的完成这个功能。 窗体上放置一个PdfViewer。 然后循环每一页 for (int i 1; i < pdfViewer1.PageCount; i) 调用 chg_pdf_to_bmp函数获得图片并保存 chg_pdf_to_bmp中调用了PdfViewer的CreateBitmap函数…

本地部署DeepSeek集成VSCode创建自己的AI助手

文章目录 安装Ollama和CodeGPT安装Ollama安装CodeGPT 下载并配置DeepSeek模型下载聊天模型&#xff08;deepseek-r1:1.5b&#xff09;下载自动补全模型&#xff08;deepseek-coder:1.3b&#xff09; 使用DeepSeek进行编程辅助配置CodeGPT使用DeepSeek模型开始使用AI助手 ✍️相…