【Docker项目实战】使用Docker部署OtterWiki知识管理工具
一、OtterWiki介绍
1.1 OtterWiki项目简介
OtterWiki是一个基于 Python 和 Flask 框架开发的轻量级 Wiki 协作系统,内容存储于 Git 仓库中,使用 Markdown 作为标记语言,结合 Halfmoon CSS 框架与 CodeMirror 编辑器,提供简洁高效的协作编辑体验。
1.2 OtterWiki主要特点
- 极简界面:采用简洁设计并内置深色模式,提供舒适的视觉体验。
- 智能编辑器:集成支持表格等扩展语法的 Markdown 高亮编辑器,提升写作效率。
- 可定制侧边栏:支持自定义菜单和页面索引,方便内容导航与组织。
- 完整变更日志:通过 Git 记录所有页面修改历史,便于追溯与回滚。
- 用户认证机制:提供用户登录与权限管理,保障内容安全。
- 页面附件支持:允许为页面添加文件附件,丰富内容表现形式。
- 扩展 Markdown 语法:支持表格、脚注、高亮块、警告框和 Mermaid 图表等增强功能。
- Git HTTP 服务(实验性):可直接通过 HTTP 协议克隆、拉取和推送 Wiki 内容仓库。
- 可爱水獭 Logo:项目以 Christy Presler 创作的 CC BY 3.0 许可水獭插画作为吉祥物。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
| hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|
| jeven | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.5.0 | OtterWiki | —— |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署OtterWiki知识管理工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sat 2025-10-04 13:29:05 UTC; 2 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 888 (dockerd)
Tasks: 65
Memory: 1.2G (peak: 1.4G)
CPU: 3min 23.296s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4
四、拉取OtterWiki镜像
下载OtterWiki容器镜像,镜像名称为:
redimp/otterwiki:2。
docker pull redimp/otterwiki:2

五、部署OtterWiki服务
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/otterwiki/data && cd /data/otterwiki/
- 目录授权
chmod -R 777 /data/otterwiki/
5.2 编辑部署文件
使用docker-cli方式部署,可参考以下命令:
docker run -d \
--restart unless-stopped \
--name otterwiki \
-p 490080 \
-v $(pwd)/data:/app-data \
redimp/otterwiki:latest
在部署目录下,创建docker-compose.yaml文件,内容如下所示:
vim docker-compose.yaml
services:
otterwiki:
image: redimp/otterwiki:2
restart: unless-stopped
ports:
- 5600:80
volumes:
- /data/otterwiki/data:/app-data
5.3 创建OtterWiki容器
执行以下命令,创建OtterWiki容器。
docker compose up -d

5.4 查看OtterWiki容器状态
检查OtterWiki容器运行状态,确保OtterWiki容器正常启动。
root@jeven:/data/otterwiki# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
otterwiki-otterwiki-1 redimp/otterwiki:2 "/entrypoint.sh /usr…" otterwiki 28 seconds ago Up 27 seconds (health: starting) 0.0.0.0:5600->80/tcp, [::]:5600->80/tcp

5.5 检查OtterWiki容器日志
检查容器运行日志,确保OtterWiki服务正常运行。
docker compose logs

六、访问OtterWiki服务
6.1 访问OtterWiki初始页
浏览器地址:
http://<个人的服务器IP>:5600,访问OtterWiki初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 注册账号
第一次进入首页后,我们注册一个用户,如下所示:

注册账号完毕后,使用注册的账号登录即可。

6.3 编辑文档
点击“Create page”选项,编辑文章标题和内容,保存文档,效果如下所示:

七、总结
通过本次实践,我们成功使用Docker快速部署了OtterWiki知识管理工具,整个过程简洁高效,体现了容器化部署的优势。OtterWiki凭借其轻量设计、Git驱动的内容管理以及对Markdown的完善支持,非常适合团队协作与知识沉淀。通过浏览器即可完成文档编写、版本追踪和用户管理,使用体验流畅。未来可进一步探索其Git同步功能与权限配置,将其深度集成到实际的项目文档管理体系中。
- 点赞
- 收藏
- 关注作者
评论(0)