【Docker项目实战】使用Docker部署Dokuwiki个人知识库
【Docker项目实战】使用Docker部署Dokuwiki个人知识库
- 一、Dokuwiki介绍
- 1.1 Dokuwiki概述
- 1.2 核心特点
- 二、本次实践规划
- 2.1 本地环境规划
- 2.2 本次实践介绍
- 三、本地环境检查
- 3.1 检查Docker服务状态
- 3.2 检查Docker版本
- 3.3 检查docker compose 版本
- 四、拉取Dokuwiki镜像
- 五、部署Dokuwiki服务
- 5.1 创建部署目录
- 5.2 编辑部署文件
- 5.3 创建Dokuwiki容器
- 5.4 查看Dokuwiki容器状态
- 六、访问Dokuwiki服务
- 6.1 初始化安装
- 6.2 登录Dokuwiki
- 七、Dokuwiki基本使用
- 八、总结
一、Dokuwiki介绍
1.1 Dokuwiki概述
Dokuwiki
是一款轻量级、开源且无需数据库的Wiki系统,专注于简洁性和可维护性。它使用纯文本文件存储内容,支持版本控制、插件扩展和模板定制,适合个人知识管理、团队协作或文档发布。
1.2 核心特点
- 无需数据库:数据以文本文件形式存储,备份和迁移更简单。
- 版本控制:自动记录内容修改历史,支持差异对比和版本回滚。
- 语法简洁:使用易于学习的标记语法(类似Markdown)编辑内容。
- 插件生态:通过插件支持表格、图表、代码高亮等扩展功能。
- 多语言支持:内置多语言界面,包括中文。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.3.3 | Dokuwiki |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Dokuwiki个人知识库。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)Active: active (running) since Mon 2025-08-04 10:10:52 UTC; 30min ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 860 (dockerd)Tasks: 10Memory: 97.2M (peak: 98.4M)CPU: 606msCGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.3.3, build 980b856
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker -v
Docker version 28.3.3, build 980b856
四、拉取Dokuwiki镜像
下载拉Dokuwiki容器镜像,如下所示
docker pull ghcr.io/linuxserver/dokuwiki:latest
五、部署Dokuwiki服务
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/dokuwiki/config && cd /data/dokuwiki
- 目录授权
chmod -R 755 /data/dokuwiki/
5.2 编辑部署文件
使用docker-cli方式部署,可参考以下命令:
docker run -d \--name=dokuwiki \-e PUID=1000 \-e PGID=1000 \-e TZ=Asia/Shanghai \-p 8741:80 \-p 443:443 \-v /data/dokuwiki/config:/config \--restart unless-stopped \ghcr.io/linuxserver/dokuwiki:latest
在部署目录下,创建docker-compose.yaml文件,内容如下所示:
vim docker-compose.yaml
version: '3.9'
services:linuxserver:image: 'ghcr.io/linuxserver/dokuwiki:latest'restart: unless-stoppedvolumes:- '/data/dokuwiki/config:/config'ports:- '443:443'- '8741:80'environment:- TZ=Asia/Shanghai- PGID=1000- PUID=1000container_name: dokuwiki
5.3 创建Dokuwiki容器
执行以下命令,创建Dokuwiki容器。
docker compose up -d
5.4 查看Dokuwiki容器状态
检查Dokuwiki容器运行状态,确保Dokuwiki容器正常启动。
root@jeven:/data/dokuwiki# docker compose ps
WARN[0000] /data/dokuwiki/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
dokuwiki ghcr.io/linuxserver/dokuwiki:latest "/init" linuxserver 20 seconds ago Up 19 seconds 0.0.0.0:443->443/tcp, [::]:443->443/tcp, 0.0.0.0:8741->80/tcp, [::]:8741->80/tcp
六、访问Dokuwiki服务
6.1 初始化安装
浏览器地址:
http://<个人的服务器IP>:8741/install.php
,访问Dokuwiki的初始安装页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。
设置系统语言为中文后,自定义填写登录账号密码信息,如下所示:
6.2 登录Dokuwiki
使用刚才设置的账号密码登录Dokuwiki,进入Dokuwiki首页。
七、Dokuwiki基本使用
进行如下操作,进行创建新页面。
编辑内容完毕后,点击保存选项。
八、总结
通过本次Docker部署Dokuwiki的实践,成功构建了一个轻量级、可移植的个人知识库系统,显著提升了部署效率与环境一致性。Docker容器化方案有效隔离了应用依赖,确保了服务的高稳定性与快速扩展能力,同时大幅简化了配置流程。此实践不仅为知识管理提供了可靠的技术支撑,还为后续自动化运维和多场景应用奠定了坚实基础。未来可进一步整合CI/CD流程与云原生架构,持续优化知识库的可用性与协作体验。