ShowDoc项目Docker部署与升级指南
前言
ShowDoc是一款优秀的文档管理系统,采用Docker方式部署可以大大简化安装和维护流程。本文将详细介绍如何使用Docker部署ShowDoc,以及如何进行后续的升级和维护工作。
环境准备
在开始部署ShowDoc之前,需要确保系统已经安装Docker环境。Docker的安装方法因操作系统而异,这里不再赘述。
基础安装步骤
1. 获取ShowDoc镜像
ShowDoc提供了官方镜像和国内加速镜像两种选择:
# 官方镜像(国内用户可能下载速度较慢)
docker pull star7th/showdoc
# 国内加速镜像(推荐国内用户使用)
docker pull registry.docker-cn.com/star7th/showdoc
docker tag registry.docker-cn.com/star7th/showdoc:latest star7th/showdoc:latest
2. 创建数据目录
为了持久化ShowDoc的数据,需要创建一个目录用于存储:
mkdir -m 777 -p /showdoc_data/html
-m 777参数确保目录有足够的权限,-p参数确保父目录不存在时会自动创建。
3. 启动容器
使用以下命令启动ShowDoc容器:
docker run -d --name showdoc -p 4999:80 -v /showdoc_data/html:/var/www/html/ star7th/showdoc
参数说明:
-d:后台运行容器--name showdoc:为容器命名-p 4999:80:将容器的80端口映射到主机的4999端口-v /showdoc_data/html:/var/www/html/:挂载数据卷
4. 初始化数据
执行以下命令完成数据初始化:
docker exec showdoc cp -fr /showdoc_data/html /var/www/
chmod 777 -R /showdoc_data
5. 访问ShowDoc
安装完成后,可以通过以下地址访问:
http://服务器IP:4999
默认管理员账号:
- 用户名:showdoc
- 密码:123456
安全提示:首次登录后请立即修改默认密码。
升级指南
当ShowDoc发布新版本时,可以按照以下步骤进行升级:
1. 停止当前容器
docker stop showdoc
2. 下载最新代码
curl -fL https://github.com/star7th/showdoc/archive/master.tar.gz | tar -C /showdoc_data/ -zxv
3. 备份旧数据
rm -rf /showdoc_data/html_bak
mv /showdoc_data/html /showdoc_data/html_bak
mv /showdoc_data/showdoc-master /showdoc_data/html
4. 设置权限
chmod 777 -R /showdoc_data/html
5. 启动容器
docker start showdoc
6. 执行安装
# 中文版安装
curl http://localhost:4999/install/non_interactive.php?lang=zh
# 英文版安装
curl http://localhost:4999/install/non_interactive.php?lang=en
7. 迁移数据
# 迁移数据库
\cp -f /showdoc_data/html_bak/Sqlite/showdoc.db.php /showdoc_data/html/Sqlite/showdoc.db.php
# 迁移附件
\cp -r -f /showdoc_data/html_bak/Public/Uploads /showdoc_data/html/Public/Uploads
# 升级数据库
curl http://localhost:4999?s=/home/update/db
注意事项:如果升级过程中出现问题,可以将/showdoc_data/html_bak重命名为/showdoc_data/html并重启容器来恢复。
从非Docker安装迁移到Docker
如果之前使用的是非Docker方式安装的ShowDoc,可以按照以下步骤迁移到Docker环境:
- 首先按照前面的方法安装一个新的Docker版ShowDoc
- 假设旧版ShowDoc数据位于
/tmp/showdoc目录 - 执行以下命令迁移数据:
# 迁移数据库
\cp -r -f /tmp/showdoc/Sqlite/showdoc.db.php /showdoc_data/html/Sqlite/showdoc.db.php
# 迁移附件
\cp -r -f /tmp/showdoc/Public/Uploads /showdoc_data/html/Public/Uploads
# 升级数据库
curl http://localhost:4999?s=/home/update/db
数据备份
定期备份是保障数据安全的重要措施。ShowDoc的所有数据都存储在/showdoc_data/html目录中,可以通过以下命令进行备份:
zip -r /showdoc_data/showdoc_bak_$(date +%Y%m%d).zip /showdoc_data/html
建议设置定时任务自动执行备份,例如每周备份一次。
常用Docker命令
以下是一些常用的Docker管理命令:
# 停止ShowDoc容器
docker stop showdoc
# 重启ShowDoc容器
docker restart showdoc
# 删除ShowDoc容器
docker rm showdoc
# 删除ShowDoc镜像
docker rmi star7th/showdoc
# 停止并删除所有容器(谨慎使用)
docker stop $(docker ps -a -q); docker rm $(docker ps -a -q)
常见问题解决
-
权限问题:如果遇到文件写入权限问题,可以尝试:
- 检查
/showdoc_data目录权限是否为777 - 检查SELinux是否限制了Docker的写入权限
- 检查
-
端口冲突:如果4999端口已被占用,可以修改
-p参数为其他端口,例如-p 5000:80 -
数据恢复:如果升级失败,可以将备份目录
/showdoc_data/html_bak重命名为/showdoc_data/html并重启容器
结语
通过Docker部署ShowDoc不仅简化了安装流程,还便于后续的维护和升级。本文详细介绍了从安装到升级的全过程,希望能帮助您顺利部署和使用ShowDoc。如果在使用过程中遇到任何问题,可以参考官方文档或寻求社区帮助。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
请把这个活动推给顶尖程序员😎本次活动专为懂行的顶尖程序员量身打造,聚焦AtomGit首发开源模型的实际应用与深度测评,拒绝大众化浅层体验,邀请具备扎实技术功底、开源经验或模型测评能力的顶尖开发者,深度参与模型体验、性能测评,通过发布技术帖子、提交测评报告、上传实践项目成果等形式,挖掘模型核心价值,共建AtomGit开源模型生态,彰显顶尖程序员的技术洞察力与实践能力。00
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
MiniMax-M2.5MiniMax-M2.5开源模型,经数十万复杂环境强化训练,在代码生成、工具调用、办公自动化等经济价值任务中表现卓越。SWE-Bench Verified得分80.2%,Multi-SWE-Bench达51.3%,BrowseComp获76.3%。推理速度比M2.1快37%,与Claude Opus 4.6相当,每小时仅需0.3-1美元,成本仅为同类模型1/10-1/20,为智能应用开发提供高效经济选择。【此简介由AI生成】Python00
Qwen3.5Qwen3.5 昇腾 vLLM 部署教程。Qwen3.5 是 Qwen 系列最新的旗舰多模态模型,采用 MoE(混合专家)架构,在保持强大模型能力的同时显著降低了推理成本。00- RRing-2.5-1TRing-2.5-1T:全球首个基于混合线性注意力架构的开源万亿参数思考模型。Python00