Featured image of post Docker 部署 MD 云文档系统 📝

Docker 部署 MD 云文档系统 📝

Docker 部署 MD 云文档系统 📝 📋 目录导航 🎯 项目简介 🛠&

Docker 部署 MD 云文档系统 📝


📋 目录导航


🎯 项目简介

MD 云文档 是一款基于 Markdown 的现代化在线文档管理系统,为个人和团队提供高效便捷的文档编辑与协作体验。它结合了简洁的界面设计和强大的功能特性,是知识管理和团队协作的理想选择。✨


🛠️ 核心特性

特性类别 功能描述 优势
✏️ 实时编辑 Markdown 即时预览 流畅写作体验,所见即所得
📁 文档管理 树形结构,多级文件夹 清晰组织大量文档
🔍 全文搜索 快速内容定位 高效检索,关键词高亮
📱 响应式设计 适配多设备 桌面移动端完美体验
👥 团队协作 多人实时协作编辑 提升团队协作效率
🐳 容器化部署 Docker 一键部署 简单易用,快速上线
🔒 数据安全 本地化部署 隐私保障,数据自主
🎨 主题定制 多种主题选择 个性化界面,自定义样式
📊 版本控制 完整历史记录 追溯变更,恢复旧版

🐳 一、Docker 部署 MD 云文档

1. 创建部署目录和 docker-compose.yml 文件 📁

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
mkdir -p /mnt/mydisk/home/md && cd $_ && \
cat > docker-compose.yml <<'EOF'
services:
  md:
    image: streamerzero/md:latest
    container_name: md
    environment:
      - REG=true  # 启用注册功能
      - TZ=Asia/Shanghai  # 时区设置
    volumes:
      - ./data:/md/data  # 数据持久化目录
    ports:
      - "9900:9900"  # 服务端口映射
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9900"]
      interval: 30s
      timeout: 10s
      retries: 3
EOF

2. 拉取镜像并启动容器 🚀

1
docker-compose up -d

🚀 二、使用 MD 云文档

1. 访问系统与初始设置 🌐

部署完成后,可以通过以下方式访问 MD 云文档系统:

  • 直接访问: http://服务器IP:9900
  • 域名访问: https://md.example.com:666 (配置了 Nginx 反向代理后)

初始设置建议:

  1. 创建管理员账户,设置强密码
  2. 配置站点名称和描述
  3. 设置团队协作权限
  4. 选择主题风格(亮色/暗色)

2. 创建和管理文档 📄

MD 云文档提供全面的文档管理功能:

  • 文档创建: 使用左侧导航栏创建文件夹和文档
  • 编辑功能: 实时双栏预览,支持 Markdown 语法和快捷键
  • 协作功能: 多人实时协作编辑,版本历史记录
  • 文档管理: 文档分类和标签系统,全文搜索功能

3. 高级功能与应用 🚀

  • API 访问: RESTful API 接口,Webhook 支持
  • 插件系统: 扩展功能插件,自定义主题和样式
  • 数据备份: 自动备份设置,手动导出数据
  • 权限管理: 细粒度权限控制,访问日志和审计跟踪

🌐 三、Nginx 反向代理配置

访问地址示例: https://md.example.com:666

1. 创建 Nginx 配置文件 🔧

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
mkdir -p /etc/nginx/conf.d && \
cat > /etc/nginx/conf.d/md.conf <<'EOF'
server {
    listen 666 ssl;
    listen [::]:666 ssl;
    server_name md.example.com;   # 替换为你的域名

    # SSL 证书
    ssl_certificate /etc/nginx/keyfile/cert.pem;
    ssl_certificate_key /etc/nginx/keyfile/key.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384;

    # 安全头部
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";

    # 文件大小限制
    client_max_body_size 100M;

    location / {
        proxy_pass http://127.0.0.1:9900;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_http_version 1.1;
        proxy_buffering off;

        # WebSocket 支持
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    # 错误页
    error_page 404 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }
}
EOF

2. 测试并重载 Nginx 🔄

1
sudo nginx -t && sudo systemctl reload nginx

🔧 四、容器维护命令

1. Docker Compose 命令 🐳

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 进入项目目录
cd /mnt/mydisk/home/md

# 停止并删除容器
docker-compose down

# 拉取最新镜像
docker-compose pull

# 启动容器
docker-compose up -d

# 查看服务状态
docker-compose ps

# 查看服务日志
docker-compose logs

# 跟踪服务日志
docker-compose logs -f

# 完整升级流程
docker-compose down && \
docker-compose pull && \
docker-compose up -d && \
docker image prune -f

2. Docker 容器命令 📦

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 查看所有容器名称
docker ps -a --format "{{.Names}}"

# 查看运行中容器
docker ps

# 停止/启动/重启容器
docker stop md      # 停止容器
docker start md     # 启动容器  
docker restart md   # 重启容器

# 删除容器
docker rm md        # 删除已停止容器
docker rm -f md     # 强制删除运行中容器

# 进入容器Shell
docker exec -it md sh      # 使用sh进入容器
docker exec -it md bash    # 使用bash进入容器

# 以root身份进入容器  
docker exec -u 0 -it md sh

# 在容器中执行命令
docker exec md ls -la

# 查看容器详情和资源使用
docker inspect md     # 查看详细配置
docker stats md       # 实时资源监控

## 容器日志管理
docker logs md           # 查看日志
docker logs -f md        # 实时跟踪日志
docker logs --tail 100 md  # 查看最后100行
docker logs -t md        # 带时间戳的日志

3. Docker 镜像管理 📀

1
2
3
4
docker images                  # 列出所有镜像
docker rmi <image_name:tag>    # 删除指定镜像
docker image prune -f          # 清理悬空镜像
docker image prune -a -f       # 清理所有未使用镜像

🌟 启航文档,协作无限

通过本文档,你已经成功使用 Docker 部署了 MD 云文档系统,并借助 Nginx 反向代理实现了安全便捷的远程访问。现在,你可以:

📝 高效创作 享受流畅的 Markdown 编辑体验,专注内容创作而非格式调整
👥 无缝协作 与团队成员实时协同编辑,提升文档协作效率
📚 知识沉淀 构建结构化知识库,让宝贵经验得以传承和复用

文档之路,是一场与知识共鸣的创作旅程。愿 MD 云文档成为你可靠的创作伙伴,陪伴你在每一次灵感迸发和知识整理的瞬间。

从现在开始,高效创作,智慧沉淀——构建你独一无二的知识宝库吧!🌿


📌 持续迭代:建议关注 MD 云文档项目更新 ,及时获取新功能与优化。
🐛 反馈与互助:使用中如有疑问或建议,可前往 Gitee Issues 提出。

祝你创作愉快,协作有成!🎉

最后更新于 2025-09-28