【Docker项目实战】使用Docker部署Docling开源文档处理工具

举报
江湖有缘 发表于 2025/12/13 10:22:36 2025/12/13
【摘要】 【Docker项目实战】使用Docker部署Docling开源文档处理工具

一、Docling介绍

1.1 Docling项目简介

Docling 是一个强大的开源文档处理工具,专注于解析多种格式的文档(尤其是具备深度理解能力的 PDF),并提供与生成式 AI 生态系统的无缝集成,支持本地运行以保障数据安全。

1.2 Docling主要特点

  • 多格式解析:支持 PDF、DOCX、PPTX、XLSX、HTML、音频(WAV、MP3)、字幕(VTT)、图像(PNG、TIFF、JPEG 等)等多种文档和媒体格式的解析。
  • 高级 PDF 理解:精准识别 PDF 的页面布局、阅读顺序、表格结构、代码块、数学公式及图像类型,还原文档语义结构。
  • 统一文档表示:采用结构清晰、表达力强的 DoclingDocument 格式,统一不同来源文档的内部表示。
  • 灵活导出选项:可导出为 Markdown、HTML、DocTags 或无损 JSON 等多种格式,便于下游应用处理。
  • 本地化执行:支持完全离线运行,适用于处理敏感数据或在无网络连接(air-gapped)环境中使用。
  • AI 生态集成:开箱即用支持 LangChain、LlamaIndex、Crew AI 和 Haystack 等主流 AI 框架,轻松构建智能文档代理。
  • 强大 OCR 能力:内置对扫描版 PDF 和图像中文本的高精度光学字符识别(OCR)支持。
  • 视觉语言模型支持:兼容多种视觉语言模型(如 GraniteDocling),提升图文混合文档的理解能力。
  • 音频转文本:集成自动语音识别(ASR)模型,可将 WAV、MP3 等音频文件转换为可处理的文本内容。
  • MCP 服务器集成:通过 MCP(Model Control Protocol)服务器,可与任意 AI Agent 连接,实现动态文档处理工作流。
  • 便捷命令行工具:提供简单易用的 CLI,快速完成文档解析与转换任务,适合脚本化和自动化部署。单。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

hostname IP地址 操作系统版本 Docker版本 部署项目 备注
jeven 192.168.3.88 Ubuntu 24.04.2 LTS 28.5.0 Docling ——

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Docling开源文档处理工具。

三、本地环境检查

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 Tue 2025-12-02 00:51:31 CST; 1min 11s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 75393 (dockerd)
      Tasks: 32
     Memory: 34.1M (peak: 34.8M)
        CPU: 1.248s
     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

四、拉取Docling镜像

下载Docling镜像,镜像名称为:quay.io/docling-project/docling-serve:v1.9.0。Docling Serve 有多个镜像,可用于在不同硬件配置下运行,包括quay.io/docling-project/docling-serve-cpuquay.io/docling-project/docling-serve-cu126quay.io/docling-project/docling-serve-cu128等,可自行根据需要使用。

docker pull quay.io/docling-project/docling-serve:v1.9.0

在这里插入图片描述

五、部署Docling服务

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/docling && cd /data/docling

5.2 docker compose方式部署

使用docke-cli方式部署,可参考:

docker run -d \
docker run -d \
   --restart unless-stopped \
   --name docling-serve \
   -p 5300:5001 \
   -e DOCLING_SERVE_ENABLE_UI=1 \
   -e GRADIO_MCP_SERVER=True \
  quay.io/docling-project/docling-serve:v1.9.0

新建及编辑docker-compose.yaml文件,宿主机映射端口可自行设置,注意防止端口冲突。

vim docker-compose.yaml
version: '3'

services:
  docling-serve:
    image:  quay.io/docling-project/docling-serve:v1.9.0
    container_name: docling-serve
    restart: always 
    ports:
      - "5300:5001"
    environment:
      - DOCLING_SERVE_ENABLE_UI=1
      - GRADIO_MCP_SERVER=True

  • 环境变量解释:
环境变量 说明
DOCLING_SERVE_ENABLE_UI 1 启用 Docling Serve 的 Web 用户界面(UI)
GRADIO_MCP_SERVER True 启用 Gradio MCP(Model Control Protocol)服务器,用于外部工具或客户端与服务通信

5.3 创建Docling容器

执行以下命令,创建Docling容器。

docker compose up -d

在这里插入图片描述

5.4 查看Docling容器状态

检查Docling容器运行状态,确保Docling容器正常启动。

root@jeven:/data/docling# docker compose ps
WARN[0000] /data/docling/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
docling-serve   quay.io/docling-project/docling-serve:v1.9.0   "container-entrypoin…"   docling-serve   25 seconds ago   Up 24 seconds   8080/tcp, 0.0.0.0:5300->5001/tcp, [::]:5300->5001/tcp

5.5 检查Docling容器日志

检查容器运行日志,确保Docling服务正常运行。

docker compose logs

在这里插入图片描述

六、访问Docling服务

6.1 访问Docling首页

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

在这里插入图片描述

6.2 文档处理

上传文档后,点击“Process File”选项,开始处理文档,处理后的效果课在线预览。

在这里插入图片描述

七、总结

本次实践成功通过Docker和Docker Compose快速部署了Docling开源文档处理工具,验证了其容器化部署的便捷性和高效性。整个过程涵盖了环境检查、镜像拉取、服务编排与启动、状态监控及功能访问等关键步骤。Docling在本地运行稳定,能够顺利提供文档解析与转换服务,展现出良好的易用性和扩展性。通过本次实战,不仅加深了对Docling功能的理解,也提升了使用Docker部署AI/文档处理类应用的实战能力。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。