nginx + php_fpm82 + discuz3.5, base on alpine.
1.2K
基于 Alpine Linux 的 Discuz! 论坛 Docker 镜像,集成了 Nginx + PHP-FPM,开箱即用。
X-Forwarded-Proto 头部自动判断 HTTPSupload_max_filesize、post_max_size、memory_limit 等参数镜像标签格式:micrograils/discuz:<VERSION>
| 标签类型 | 示例 | 说明 |
|---|---|---|
| 版本号 | 3.5.20250901 | 具体的 Discuz! 发布版本,稳定可靠,推荐生产环境使用 |
| latest | latest | 跟随最新的正式发布版本(x.x.xxx 格式) |
| master | master | 跟随 DiscuzX 官方 v3.5 分支的最新代码,包含未发布的功能 |
docker run -d \
--name discuz \
-p 12345:80 \
micrograils/discuz:latest
或带持久化数据:
docker run -d \
--name discuz \
-p 12345:80 \
-v $PWD/data/discuz:/var/www/html \
micrograils/discuz:latest
启动后访问 http://localhost:12345,进入 Discuz! 安装向导。
示例 docker-compose.yml 如下,请自行修改数据库密码等信息:
services:
discuz_web:
image: micrograils/discuz:3.5.20250901
restart: always
volumes:
- ./data/discuz:/var/www/html
ports:
- "12345:80"
depends_on:
- discuz_db
networks:
- discuz_net
discuz_db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: discuz
MYSQL_USER: discuz
MYSQL_PASSWORD: discuz_password
volumes:
- ./data/mysql:/var/lib/mysql
networks:
- discuz_net
networks:
discuz_net:
driver: bridge
安装时填写数据库信息:
discuz_dbdiscuzdiscuzdiscuz_password如果最终部署在 HTTPS 后面(例如nginx),参考配置如下:
server {
listen 443;
server_name your_domain.com;
# HTTPS 配置
ssl on;
ssl_certificate /path/to/certificate.pem;
ssl_certificate_key /path/to/privatekey.pem;
location / {
proxy_pass http://127.0.0.1:12345;
proxy_set_header Host $host;
# 重要
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}
无论是否开启了 HTTPS:
X-Forwarded-Proto 头部都会被识别,并根据其值自动调整配置discuz 后台: 全局 - 站点设置 - 站点URL 调整为公网 url,例如 https://your_domain.com注:某些情况下,虽然是在 HTTPS 后面,但 X-Forwarded-Proto 头部可能不存在(比如前面的反代配置你没有修改权利),此时需要手动调整配置:
docker exec -it ${discuz_web_real_id}$ /bin/sh
sed -i 's/fastcgi_param HTTPS $php_https;/fastcgi_param HTTPS on;/g' /etc/nginx/http.d/default.conf
nginx -t && nginx -s reload
| 参数 | 值 | 说明 |
|---|---|---|
upload_max_filesize | 10M | 最大上传文件大小 |
post_max_size | 64M | 最大 POST 数据大小 |
memory_limit | 256M | PHP 内存限制 |
max_execution_time | 300 | 最大执行时间(秒) |
clear_env | no | 保留环境变量 |
X-Forwarded-Proto). 开头的文件)Q:如何查看当前 PHP 版本和配置?
docker exec -it discuz php -v
docker exec -it discuz php -i
Q:如何进入容器调试?
docker exec -it discuz /bin/sh
Q:如何查看 Nginx 日志?
docker logs discuz
Q:master 版本会自动更新吗? A:需要手动重新构建镜像。master 镜像跟随 Gitee 源码仓库 v3.5 分支的最新提交,需要重新构建才能获取最新代码。
micrograils/discuz
让搭建论坛像搭积木一样简单。
Content type
Image
Digest
sha256:787a9fffb…
Size
29.6 MB
Last updated
8 months ago
docker pull micrograils/discuz