首页
/ 使用Docker Compose部署Mindoc文档管理系统的完整指南

使用Docker Compose部署Mindoc文档管理系统的完整指南

2025-07-07 03:29:21作者:田桥桑Industrious

Mindoc是一款优秀的文档管理系统,基于Go语言开发,支持Markdown语法,适合团队协作和知识管理。本文将详细介绍如何使用Docker Compose快速部署Mindoc系统。

系统架构概述

Mindoc的Docker Compose部署方案采用单服务架构,主要包含以下组件:

  1. Mindoc应用服务:基于官方Docker镜像运行的核心服务
  2. 数据持久化:通过卷挂载实现配置文件和数据的持久化存储
  3. 环境配置:通过环境变量控制应用行为

部署前准备

在开始部署前,请确保您的服务器满足以下条件:

  • 已安装Docker引擎(版本17.06.0+)
  • 已安装Docker Compose(版本1.18.0+)
  • 服务器内存建议不少于2GB
  • 磁盘空间建议不少于10GB(根据文档存储需求可调整)

配置文件详解

以下是核心配置文件的逐项解析:

基础服务定义

version: "3"
services:
  mindoc:
    image: registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.1
    container_name: mindoc
    privileged: false
    restart: always
  • version: "3":指定使用的Compose文件格式版本
  • image:使用阿里云镜像仓库的官方Mindoc镜像,版本为v2.1
  • container_name:指定容器名称为"mindoc"
  • privileged: false:不以特权模式运行,提高安全性
  • restart: always:容器意外退出时自动重启

网络端口映射

ports:
  - 8181:8181

将容器内部的8181端口映射到主机的8181端口,用户可通过http://服务器IP:8181访问Mindoc服务。

数据持久化配置

volumes:
  - /var/www/mindoc/conf://mindoc/conf
  - /var/www/mindoc/static://mindoc/static
  - /var/www/mindoc/views://mindoc/views
  - /var/www/mindoc/uploads://mindoc/uploads
  - /var/www/mindoc/runtime://mindoc/runtime
  - /var/www/mindoc/database://mindoc/database

这些卷挂载确保了以下数据的持久化:

  1. conf:配置文件目录
  2. static:静态资源文件(CSS/JS/图片等)
  3. views:视图模板文件
  4. uploads:用户上传的文件
  5. runtime:运行时生成的临时文件
  6. database:数据库文件(使用SQLite时特别重要)

关键环境变量

environment:
  - MINDOC_RUN_MODE=prod
  - MINDOC_DB_ADAPTER=sqlite3
  - MINDOC_DB_DATABASE=./database/mindoc.db
  - MINDOC_CACHE=true
  - MINDOC_CACHE_PROVIDER=file
  - MINDOC_ENABLE_EXPORT=false
  • MINDOC_RUN_MODE=prod:指定生产环境模式
  • MINDOC_DB_ADAPTER=sqlite3:使用SQLite作为数据库(适合小型部署)
  • MINDOC_CACHE=true:启用缓存提高性能
  • MINDOC_ENABLE_EXPORT=false:默认禁用导出功能(可根据需要开启)

DNS配置

dns:
  - 223.5.5.5
  - 223.6.6.6

配置阿里云的公共DNS服务,确保容器内网络解析正常。

部署步骤

  1. 创建必要的目录结构:

    mkdir -p /var/www/mindoc/{conf,static,views,uploads,runtime,database}
    
  2. 将上述docker-compose.yml文件保存到合适位置(如/opt/mindoc

  3. 启动服务:

    docker-compose up -d
    
  4. 检查服务状态:

    docker-compose ps
    
  5. 查看日志确认服务正常运行:

    docker-compose logs -f
    

高级配置建议

数据库配置

默认使用SQLite适合小型团队,对于中大型团队建议:

  1. 修改为MySQL数据库:

    environment:
      - MINDOC_DB_ADAPTER=mysql
      - MINDOC_DB_HOST=mysql_host
      - MINDOC_DB_PORT=3306
      - MINDOC_DB_DATABASE=mindoc
      - MINDOC_DB_USERNAME=root
      - MINDOC_DB_PASSWORD=your_password
    
  2. 添加MySQL服务到docker-compose.yml

性能优化

  1. 启用Redis缓存:

    environment:
      - MINDOC_CACHE_PROVIDER=redis
      - MINDOC_REDIS_HOST=redis_host
      - MINDOC_REDIS_PORT=6379
    
  2. 调整上传文件大小限制: 修改conf/app.conf中的upload_max_size

常见问题排查

  1. 权限问题:确保挂载目录对Docker进程可写

    chown -R 1000:1000 /var/www/mindoc
    
  2. 端口冲突:如果8181端口被占用,可修改为其他端口

  3. 初始化失败:检查数据库文件是否可写,特别是使用SQLite时

维护与升级

  1. 定期备份挂载目录,特别是database和uploads
  2. 升级版本时,修改image标签后重新部署
  3. 监控磁盘空间使用情况,及时清理不必要的文件

通过本文介绍的Docker Compose部署方案,您可以快速搭建一个稳定运行的Mindoc文档管理系统。这种部署方式具有隔离性好、易于维护、方便迁移等优势,适合各种规模的组织使用。