nginx + php_fpm82 + discuz3.5, base on alpine.
1.6K
基于 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
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
维护者文档(技术细节 / 构建 / 版本管理 / 维护)见 MAINTENANCE.md。
Content type
Image
Digest
sha256:787a9fffb…
Size
29.6 MB
Last updated
10 months ago
docker pull micrograils/discuz