如何使用Docker容器部署开源Wiki系统MediaWiki

夜静同学_9674

夜静同学_9674

2026-05-25

378人浏览

原创

docker部署mediawiki核心是容器隔离、外部数据持久化与初始化配置落地;推荐单容器(sqlite)开发或多容器(mysql)生产,需挂载数据目录、配置localsettings.php并重启生效。

如何使用docker容器部署开源wiki系统mediawiki

用 Docker 部署 MediaWiki 很直接,核心是“容器隔离 + 外部数据持久化 + 初始化配置落地”,不需要编译安装 PHP 或手动配 Apache/Nginx。官方镜像开箱即用,重点在于数据库联动和配置文件保存。

准备基础环境

确保系统已安装 Docker(20.10+)和 docker-compose(v2.0+)。CentOS/RedHat 可用:
curl -fsSL https://get.docker.com | sh;Ubuntu/Debian 之后执行 sudo systemctl enable --now docker。
验证运行状态:
docker info 和 docker compose version 均应返回有效输出。

选择部署方式:单容器(SQLite) or 多容器(MySQL)

开发或轻量使用推荐 SQLite 方案,无需额外数据库容器,配置极简:

OpenClaw Docker Setup
OpenClaw Docker Setup

在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...

下载
  • 新建目录如 ~/mediawiki,创建 docker-compose.yml
  • 内容含 mediawiki 服务,挂载 ./data:/var/www/data(SQLite 文件存此处)和 ./uploads/images:/var/www/html/images(上传文件)
  • 启动:docker compose up -d,访问 http://localhost 进入安装向导

生产环境建议 MySQL 方案,更稳定、支持并发与扩展:

  • 在 compose 文件中增加 mysql 服务,设置 MYSQL_ROOT_PASSWORD 和 MYSQL_DATABASE=wikidb
  • MediaWiki 服务通过 depends_on 依赖 MySQL,并用 environment 指定 MEDIAWIKI_DB_HOST=mysql、MEDIAWIKI_DB_NAME=wikidb 等参数
  • MySQL 数据目录必须挂载(如 ./mysql-data:/var/lib/mysql),否则重启后数据丢失

完成安装并固化配置

首次访问会进入 Web 安装界面,按提示操作即可:

  • 语言选中文,环境检查通过后进入数据库配置页
  • SQLite 用户直接点“继续”;MySQL 用户填 数据库名 wikidb、用户名 root、密码(与 mysql 容器一致)、主机名 mysql
  • 设置站点名称、管理员账号密码
  • 最后一步点击“安装”,成功后页面会提供 LocalSettings.php 下载链接
  • 把下载的文件放到 compose 目录下,并在 yml 中取消注释挂载行:./LocalSettings.php:/var/www/html/LocalSettings.php
  • 重启容器:docker compose down && docker compose up -d,配置即永久生效

可选但实用的优化项

让 Wiki 更好用、更安全:

  • 启用 HTTPS:配合 Traefik 或 Nginx 反代,在 compose 中加 labels 或 proxy 配置,自动处理证书
  • 美化 URL:编辑 LocalSettings.php,加入 $wgScriptPath = ""; 和 $wgArticlePath = "/$1";,再配 Web 服务器重写规则
  • 上传限制:修改 php.ini(可通过挂载自定义 ini 文件)调高 upload_max_filesize 和 post_max_size
  • 扩展安装:把扩展目录(如 extensions/Cite)挂载进容器 /var/www/html/extensions,再在 LocalSettings.php 中启用

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

docker

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

705

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

5239

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

6217

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2373

7

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

259

16

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

451

14

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

400

26

Go Docker与容器化部署教程合集
Go Docker与容器化部署教程合集

聚焦 Go 应用的容器化部署优势与实践,讲解 Go 静态编译特性(CGO_ENABLED=0)与 scratch / distroless 极小基础镜像构建、多阶段 Dockerfile 编写规范、交叉编译生成目标平台二进制、镜像安全扫描(Trivy)与漏洞修复、Docker Compose 本地编排开发环境、Kubernetes Deployment / Service / ConfigMap 部署 Go 服务、健康检查(Livene

2026.05.15

305

24

Hyperf 项目部署运维与性能调优手册
Hyperf 项目部署运维与性能调优手册

聚焦 Hyperf 在生产环境的落地,包含 Docker 高效打包、Swoole 配置优化、常见的内存溢出(OOM)问题排查方法以及热更新方案。

2026.05.19

445

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习