阿里云CentOS8_x86_64_docker-compose 搭建Mantis

本文档详细介绍了如何在阿里云CentOS8环境下使用Docker搭建MantisBT项目管理工具,并配合MySQL5.7数据库。首先,通过Dockerfile构建MySQL5.7镜像,配置my.cnf文件,然后使用docker-compose部署MySQL服务。接着,配置MantisBT的docker-compose.yml文件,包括数据库连接信息和数据目录映射。此外,还涉及到MantisBT的email配置,使用smtp.163.com进行邮件发送。最后,提到了访问MantisBT的URL以及阿里云安全规则、域名绑定和ICP备案等步骤。

docker环境的搭建参考

阿里云CentOS8_x86_64_搭建Docker环境

mantis 搭建与配置

mantis 基于docker-compose 搭建,但mantis 需要使用mysql-5.7(mysql8.0会初始化不通过)

mysql5.7 搭建

mysql 5.7 基于docker-compose快速搭建

mysql DockerFile

Dockerfile

FROM mysql:5.7

COPY my.cnf /etc/mysql/conf.d

CMD ["mysqld"]

mysql my.cnf

my.cnf

[mysqld]
server-id = 100
port = 3306
max_connections = 800
max_connect_errors = 1000
log_bin = bin.log
slow_query_log = 1
slow_query_log_file = slow.log
log_error=/var/lib/mysql/mysql.err

log-slave-updates=ON
enforce-gtid-consistency=ON
gtid_mode=ON

# 数据同步时忽略以下数据库
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=sys
binlog-ignore-db=performance_schema

default-authentication-plugin=mysql_native_password

sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

mysql docker-compose.yml

docker-compose.yml

  mysql:
    environment:
      MYSQL_ROOT_PASSWORD: rootpasswd
      MYSQL_DATABASE: mantis
      MYSQL_USER: mantis
      MYSQL_PASSWORD: rootpasswd
      TZ: Asia/Shanghai
    build:
      context: ./mysql/
    command: --default-authentication-plugin=mysql_native_password
    container_name: mysql
    ports:
      - "3306:3306"
    volumes:
      - "/data/dockerData/mysql/:/var/lib/mysql"
    restart: always

mantis docker-compose.yml

  mantisbt:
    image: vimagick/mantisbt:latest
    container_name: mantisbt
    ports:
      - "9980:80"
    depends_on:
      - mysql
    environment:
      TZ: 'Asia/Shanghai'
    volumes:
      - "/data/dockerData/mantis/html/:/var/www/html/"
      - "/data/dockerData/mantis/UploadFile/:/var/www/html/mantis/upload/"
    restart: always

mantis config_inc.php

mkdir /data/dockerData/mantis/html
/data/dockerData/mantis/html 的内容,先启动一个mantis,只是为了通过docker cp 从mantis 容器中复制出来的。

配置email

/data/dockerData/mantis/html/config_inc.plp

/**
 * 开启邮箱验证
 */ 
$g_enable_email_notification = ON;
$g_phpMailer_method		= PHPMAILER_METHOD_SMTP; # or PHPMAILER_METHOD_SMTP, PHPMAILER_METHOD_SENDMAIL

# --- Email Configuration ---
$g_smtp_host			= 'smtp.qiye.163.com';			# used with PHPMAILER_METHOD_SMTP
$g_smtp_port 			= '465';
$g_smtp_connection_mode = 'ssl';
$g_smtp_username		= 'mantis@xxx.com';
$g_smtp_password		= 'xxxxxxxxxxxx';

$g_webmaster_email      = 'mantis@xxx.com';
$g_from_email           = 'mantis@xxx.com';	# the "From: " field in emails
$g_return_path_email    = 'mantis@xxx.com';	# the return address for bounced mail
$g_from_name			= Mantis';
$g_administrator_email  = 'mantis@xxx.com';

访问mantis地址

http://mantis.xxx.com:9980

阿里云安全规则开放端口

9980
3306
22
465
80

域名与公网IP绑定

使用xxx.com 购买的域名地址,如阿里云域名
创建二级域名mantis.xxx.com 进行IP 绑定 119.xxx.xx.xx

ICP接入备案

需要使用对应的xxx.com 在阿里云做接入备案,公司性质的需要提供公司相关的资料。

Haproxy代理与反向理gitlab

阿里云CentOS8_x86_64_Haproxy代理gitlab及mantis

当遇到 Docker 相关软件包因依赖关系安装跳过的问题时,可以尝试以下几种解决方法: ### 清理缓存并重新安装 清理 Yum 缓存,然后重新尝试安装 Docker 相关软件包。 ```bash yum clean all yum makecache yum install -y containerd.io-1.6.33-3.1.el7.x86_64 docker-buildx-plugin-0.14.1-1.el7.x86_64 3:docker-ce-26.1.4-1.el7.x86_64 1:docker-ce-cli-26.1.4-1.el7.x86_64 docker-ce-rootless-extras-26.1.4-1.el7.x86_64 docker-compose-plugin-2.27.1-1.el7.x86_64 ``` ### 手动安装依赖 使用 `yum deplist` 命令查看每个软件包的依赖关系,手动安装缺少的依赖。 ```bash yum deplist containerd.io-1.6.33-3.1.el7.x86_64 yum deplist docker-buildx-plugin-0.14.1-1.el7.x86_64 # 以此类推,对其他软件包执行相同操作 ``` 根据输出结果,安装缺少的依赖。 ### 启用额外的软件源 有时候,依赖包可能在默认的软件源中没有提供,可以尝试启用一些额外的软件源,如 EPEL 源。 ```bash yum install -y epel-release ``` 启用 EPEL 源后,再次尝试安装 Docker 相关软件包。 ### 忽略依赖检查(谨慎使用) 在某些情况下,可以使用 `--skip-broken` 或 `--nodeps` 选项来忽略依赖检查,但这可能会导致系统不稳定,不建议轻易使用。 ```bash yum install -y --skip-broken containerd.io-1.6.33-3.1.el7.x86_64 docker-buildx-plugin-0.14.1-1.el7.x86_64 3:docker-ce-26.1.4-1.el7.x86_64 1:docker-ce-cli-26.1.4-1.el7.x86_64 docker-ce-rootless-extras-26.1.4-1.el7.x86_64 docker-compose-plugin-2.27.1-1.el7.x86_64 ``` ### 解决公钥问题 如果安装过程中出现公钥错误,参考之前提到的解决公钥问题的方法。 ```bash cd /etc/pki/rpm-gpg/ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 yum install -y --nogpgcheck containerd.io-1.6.33-3.1.el7.x86_64 docker-buildx-plugin-0.14.1-1.el7.x86_64 3:docker-ce-26.1.4-1.el7.x86_64 1:docker-ce-cli-26.1.4-1.el7.x86_64 docker-ce-rootless-extras-26.1.4-1.el7.x86_64 docker-compose-plugin-2.27.1-1.el7.x86_64 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值