Post

Discuz 容器化部署

Discuz 容器化部署

🛠 环境准备

确保系统已安装 Docker 和 Docker Compose。以RockyLinux 8.10为例,

1
2
# 安装 Podman & Podman-Compose
dnf install -y podman podman-compose

📁 目录结构

本例子以 ~/discuz 作为工作目录。在工作目录下创建 html 和 mysql 两个子目录:

1
mkdir -p ~/discuz/html ~/discuz/mysql

从 https://www.discuz.vip/download 下载的 Discuz_X3.5_SC_UTF8_20250205.zip ,解压后复制 upload 目录中的所有文件到 html 目录:

1
2
unzip Discuz_X3.5_SC_UTF8_20250205.zip
cp -r upload/* ~/discuz/html/

🐳 Dockerfile 配置

在 html 目录下创建 Dockerfile,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 使用官方 PHP 镜像作为基础镜像
FROM php:8.2-apache

# 安装 PHP 扩展和依赖
RUN apt-get update && apt-get install -y \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install gd mysqli \
    && a2enmod rewrite

# 设置文档根目录
COPY . /var/www/html

# 设置工作目录
WORKDIR /var/www/html

📦 Docker Compose 配置

在工作目录下创建 docker-compose.yml,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
version: '3'

services:
  web:
    build: ./html
    container_name: discuz_web
    ports:
      - "8080:80"
    volumes:
      - ./html:/var/www/html
    depends_on:
      - mysql

  mysql:
    image: mysql:8.0
    container_name: discuz_mysql
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=ultrax
      - MYSQL_USER=discuz
      - MYSQL_PASSWORD=discuz
    volumes:
      - ./mysql:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "discuz", "-pdiscuz"]
      interval: 5s
      timeout: 5s
      retries: 5

🚀 启动服务

在工作目录下执行以下命令启动服务:

1
2
cd ~/discuz
docker-compose up -d

此命令会启动 Discuz! 的 Web 服务和 MySQL 数据库服务。


🌐 访问安装界面

在浏览器中访问 http://<服务器 IP="">:8080/install,即可进入 Discuz! 的安装界面。

📝 安装步骤

  1. 阅读并同意授权协议:点击“我同意”继续。

  2. 环境检测:系统会自动检查环境配置,确保满足安装要求。

  3. 选择安装类型:选择“全新安装 Discuz! X3.5(含 UCenter Server)”。

  4. 配置数据库信息

    • 数据库服务器地址:mysql
    • 数据库名:ultrax
    • 数据库用户名:root
    • 数据库密码:root
  5. 设置管理员账号:填写管理员用户名和密码。

  6. 开始安装:点击“安装”按钮,系统会自动完成安装过程。

  7. 完成安装:安装完成后,系统会提示安装成功。

部分截图如下:

image-20250413093328291

image-20250413093342600

image-20250413141248409

image-20250413094712313

image-20250413094824036

image-20250413094842112


✅ 安装完成

安装完成后,您可以通过 http://<服务器 IP="">:8080 访问您的 Discuz! 论坛。

image-20250413142631883


🔐 安全建议

  • 删除安装目录:安装完成后,为了安全起见,建议删除 install 目录。
  • 设置文件权限:确保论坛目录的权限设置正确,避免出现权限问题。
  • 定期备份:定期备份数据库和论坛文件,以防数据丢失。

如有疑问,欢迎留言。

This post is licensed under CC BY 4.0 by the author.

支持创作者

如果本文帮助到你,可以通过以下收款码支持我:

收款码

感谢你的支持!