Docker容器化部署Docling:实现高效、安全的文档处理服务
Docker容器化部署Docling:实现高效、安全的文档处理服务
1.1 Docling项目简介
1.2 Docling主要特点
2.1 本地环境规划
2.2 本次实践介绍
3.1 检查Docker服务状态
3.2 检查Docker版本
3.3 检查docker compose 版本
5.1 创建部署目录
5.2 docker compose方式部署
5.3 创建Docling容器
5.4 查看Docling容器状态
5.5 检查Docling容器日志
6.1 访问Docling首页
6.2 文档处理
一、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。

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-cpu、quay.io/docling-project/docling-serve-cu126、quay.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
环境变量解释:

5.3 创建Docling容器
执行以下命令,创建Docling容器。
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服务正常运行。
六、访问Docling服务
6.1 访问Docling首页
浏览器地址:
http://<个人的服务器IP>:5300/ui,访问Docling初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

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

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


