Dosu LogoDosu Logo
Ask
Join our Discord
DoclingPublic
IBM Docling
DocumentsDocling
Container Image Variants
Container Image Variants
Type
Topic
Status
Published
Created
Jul 9, 2026
Updated
Jul 9, 2026

Container Image Variants#

Docling-serve publishes hardware-targeted container images so users can deploy the service against the exact PyTorch build for their environment. All variants are built from the same Containerfile using a UV_SYNC_EXTRA_ARGS build argument that selects a different uv dependency group, each backed by a distinct PyTorch package index .

Available Images#

The following images are distributed on ghcr.io/docling-project/ and mirrored to quay.io/docling-project/ :

Image suffixHardware targetSupported architecturesApprox. size
(none)PyPI default (any)linux/amd64, linux/arm644.4 GB (arm64) / 8.7 GB (amd64)
-cpuCPU-only (PyTorch CPU index)linux/amd64, linux/arm644.4 GB
-cu128CUDA 12.8linux/amd6411.4 GB
-cu130CUDA 13.0linux/amd64, linux/arm64TBD
-rocmAMD ROCm 6.3linux/amd64Not published (build locally)
-rocm72AMD ROCm 7.2linux/amd64Not published (build locally)

CUDA images (-cu128, -cu130) are not tagged latest — only explicit version tags (e.g., v1.18.0) and main are available, because CUDA versions are deprecated over time as PyTorch evolves. Always pin to an explicit version .

Dependency Group Wiring#

Each variant maps to a uv dependency group in pyproject.toml. The Makefile UV_SYNC_EXTRA_ARGS flag used per target is:

Make targetUV_SYNC_EXTRA_ARGS flagPyTorch index
docling-serve-cpu-image--no-group pypi --group cpudownload.pytorch.org/whl/cpu
docling-serve-cu126-image--no-group pypi --group cu126download.pytorch.org/whl/cu126
docling-serve-cu128-image--no-group pypi --group cu128download.pytorch.org/whl/cu128
docling-serve-cu130-image--no-group pypi --group cu130download.pytorch.org/whl/cu130
docling-serve-rocm-image--no-group pypi --group rocm --no-extra flash-attndownload.pytorch.org/whl/rocm6.3
docling-serve-rocm72-image--no-group pypi --group rocm72 --no-extra flash-attndownload.pytorch.org/whl/rocm7.2

Note: cu126 has a Makefile build target but is not in the distributed images table above. Note that cu124 was previously supported but is commented out in both the Makefile and pyproject.toml, indicating it has been deprecated. All CUDA/ROCm builds are constrained to linux/amd64 .

Pre-bundled ML Model Weights#

Every image variant bakes ML model weights at build time using docling-tools models download. The default model set is :

layout tableformer picture_classifier rapidocr easyocr

Models are stored at DOCLING_SERVE_ARTIFACTS_PATH=/opt/app-root/src/.cache/docling/models . This eliminates cold-start model downloads when the container starts.

Known gap: The rocm72 image bakes English and Chinese RapidOCR models but omits the Latin character set (latin_PP-OCRv3_rec_mobile). As of v1.25.0, stricter model validation surfaces this as a task failure rather than silently continuing — affecting users processing non-English Latin-script documents. Workaround: add a post_start hook to download the missing Latin models, or pin to v1.24.0 .

Building Locally#

Use the Makefile targets to build any variant locally. The CONTAINER_RUNTIME variable defaults to docker but can be overridden for Podman . For example:

make docling-serve-rocm72-image # Build ROCm 7.2
make CONTAINER_RUNTIME=podman docling-serve-cpu-image # Build CPU with Podman

ROCm images require extra device mounts and env vars at runtime. The Makefile run-docling-rocm72 target shows the required flags: /dev/kfd, /dev/dri, video/render group-adds, and TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1.

Base Image & Runtime Details#

All variants share the same CentOS Stream 9 (quay.io/sclorg/python-312-c9s:c9s) base image and include :

  • mimalloc (v3.2.8) preloaded via LD_PRELOAD for reduced memory fragmentation
  • OMP_NUM_THREADS=4 set by default
  • Service exposed on port 5001, started via docling-serve run

A docling-serve-slim variant (without pre-bundled weights) is planned but not yet available .

Documents
Agentic Document Processing
API Authentication
Apple Silicon Support
How can I set up and run docling-serve on a MacBook Pro using Docker, and what performance and stability considerations should I be aware of?
ASR Language Configuration
Async Task Result Management
Audio and Video Processing
Bibliography Extraction and Parsing
Bounding Box Visualization
Caption-Figure Linking
Chart Extraction
What are the differences between `vlm_pipeline_model_local` and `picture_description_local` in Docling, and how do image descriptions, OCR, and table extraction work together? Also, how do the `include_annotations` and `mark_annotations` properties affect exported output?
Chemical Notation OCR
Citation Data Modeling
CLI File Staging and Collision Handling
CLI Image Export Modes
How can I improve the resolution or quality of images extracted from a PDF using docling?
CLI Logging and Console Output
Code Chunking
Container Image Variants
How can I set up and run docling-serve on a MacBook Pro using Docker, and what performance and stability considerations should I be aware of?
What is the recommended Azure deployment option for a Docling-based Python SDK application using a custom Dockerfile with PyTorch and OCR, and why?
Cross-Platform Support
Custom Enrichment Models
Custom Layout Plugin Architecture
DocItemLabel Type System
DocLang Format
Docling Image Extraction
How can I improve the resolution or quality of images extracted from a PDF using docling?
What are the differences between `vlm_pipeline_model_local` and `picture_description_local` in Docling, and how do image descriptions, OCR, and table extraction work together? Also, how do the `include_annotations` and `mark_annotations` properties affect exported output?
Docling Model Management
How can I set up and run docling-serve on a MacBook Pro using Docker, and what performance and stability considerations should I be aware of?
What is the recommended Azure deployment option for a Docling-based Python SDK application using a custom Dockerfile with PyTorch and OCR, and why?
Docling Performance Optimization
Docling Pipeline Configuration
What are the differences between `vlm_pipeline_model_local` and `picture_description_local` in Docling, and how do image descriptions, OCR, and table extraction work together? Also, how do the `include_annotations` and `mark_annotations` properties affect exported output?
Docling Resource Requirements
How can I set up and run docling-serve on a MacBook Pro using Docker, and what performance and stability considerations should I be aware of?
What is the recommended Azure deployment option for a Docling-based Python SDK application using a custom Dockerfile with PyTorch and OCR, and why?
Docling Rust SDK
Docling Serve API Client
How can I use Docling's REST API to convert a PDF from a URL to Markdown with OpenAI-generated image descriptions, and is base64 encoding required for URL sources?
Docling Serve Configuration
How can I set up and run docling-serve on a MacBook Pro using Docker, and what performance and stability considerations should I be aware of?
How can you mount a PersistentVolumeClaim (PVC) in docling-serve on OpenShift to store EasyOCR models, and what steps are required to ensure docling-serve can access these models?
What are the differences between `vlm_pipeline_model_local` and `picture_description_local` in Docling, and how do image descriptions, OCR, and table extraction work together? Also, how do the `include_annotations` and `mark_annotations` properties affect exported output?
Docling Serve Deployment
How can I set up and run docling-serve on a MacBook Pro using Docker, and what performance and stability considerations should I be aware of?
How can you mount a PersistentVolumeClaim (PVC) in docling-serve on OpenShift to store EasyOCR models, and what steps are required to ensure docling-serve can access these models?
Models handling in Docling Serve
skill.md
What is the recommended Azure deployment option for a Docling-based Python SDK application using a custom Dockerfile with PyTorch and OCR, and why?
Docling Serve Worker Architecture
DoclingDocument Builder API
Building a Modular IDP Pipeline with Docling Components
DoclingDocument Data Model
Building a Modular IDP Pipeline with Docling Components
DoclingDocument Hierarchization
DoclingDocument Java Serialization
DoclingDocument Serialization
DoclingDocument Text Formatting
Document Backends
Building a Modular IDP Pipeline with Docling Components
Document Chunk Metadata and Provenance
Document Chunking
Document Content Classification
Document Extraction Strategies
Document Figure Classification
Document Input Methods
How can I use Docling's REST API to convert a PDF from a URL to Markdown with OpenAI-generated image descriptions, and is base64 encoding required for URL sources?
Document Layout and Reading Order
How does Docling reconstruct reading order without using a large language model (LLM) call in an unsupervised manner?
Document Layout Detection Models
Building a Modular IDP Pipeline with Docling Components
Document Merging and Concatenation
Document Metadata
Document Pagination
Document Rotation and Orientation
Document Serialization Architecture
Document Token and Heading Schema
Document Tree Traversal
Document Type Classification and Routing
Document-to-Graph Pipeline
DocumentConverter Configuration
How can I use granite-docling to process all PDFs in a directory and output doctags?
DOCX Header/Footer Processing
DOCX Image Extraction
DOCX List Processing
DOCX Numbered Heading Processing
DOCX Reference and Citation Extraction
DOCX SDT Handling
DOCX Table Extraction
DOCX Text Formatting
Email Format Support
Enrichment Pipeline
What are the differences between `vlm_pipeline_model_local` and `picture_description_local` in Docling, and how do image descriptions, OCR, and table extraction work together? Also, how do the `include_annotations` and `mark_annotations` properties affect exported output?
Entity Cardinality and Ranking
Excel Backend Processing
Extraction Pipeline Prompting
GPU Accelerator Support
GPU Memory Management
Heading Hierarchy Configuration
HTML Export Format
HuggingFace Transformers Integration
Hyperlink Spatial Matching
IBM Watsonx and Granite Integration
How can I use granite-docling to process all PDFs in a directory and output doctags?
Image Reference Handling
How can I use Docling's REST API to convert a PDF from a URL to Markdown with OpenAI-generated image descriptions, and is base64 encoding required for URL sources?
skill.md
Input Format and Image Support
Knowledge Graph Extraction
Large PDF Memory Management
Layout Detection Configuration
Layout Postprocessor
Layout Prediction Data Structures
Building a Modular IDP Pipeline with Docling Components
LibreOffice Integration
List Marker Normalization
Markdown Export Configuration
How can I use Docling's REST API to convert a PDF from a URL to Markdown with OpenAI-generated image descriptions, and is base64 encoding required for URL sources?
Markdown Processing
MCP Server Integration
Docling MCP in Docling Serve
Multi-Language API Integration
Native Library Compatibility
NuExtract Transformers Compatibility
Observability and Monitoring
How can you mount a PersistentVolumeClaim (PVC) in docling-serve on OpenShift to store EasyOCR models, and what steps are required to ensure docling-serve can access these models?
OCR Engine Configuration
OCR Engine Integration
OCR Language Support
ODF Backend Processing
ODF Chart Extraction
Open WebUI Integration
OpenCV Dependency Management
Optional Dependency Management
Package Architecture
skill.md
Page Assembly Pipeline
Parsed Page Access and Segmentation
PDF Document Pipeline
Building a Modular IDP Pipeline with Docling Components
PDF Page Range Selection
PDF Parse Lifecycle Management
PDF Pipeline Configuration
How can I improve the resolution or quality of images extracted from a PDF using docling?
PDF Rendering and OCR Pipeline
How can I improve the resolution or quality of images extracted from a PDF using docling?
PDF Spatial Filtering
PDF Text Extraction
PDF-to-RAG Pipeline
skill.md
Picture Classification Filtering
Picture Detection and Segmentation
Pipeline and Model Caching
skill.md
Pipeline Batch Size Configuration
Pipeline Error Logging
Pipeline Initialization and Dependency Loading
Pipeline Stage Architecture
PPTX Content Extraction
Pydantic-Based Extraction Templates
RAG Framework Connectors
RapidOCR Model Management
Redis Integration
Remote Inference Services
Resource Cleanup and Lifecycle Management
Reverse Proxy Configuration
RTL and Bidirectional Text Support
Security Hardening
Spatial Predicates and R-tree Indexing
Structured Information Extraction
How can I use granite-docling to process all PDFs in a directory and output doctags?
skill.md
Table Cell Formatting
Table Cell Text Matching
Table Chunking
Table Export and Serialization
What are the differences between `vlm_pipeline_model_local` and `picture_description_local` in Docling, and how do image descriptions, OCR, and table extraction work together? Also, how do the `include_annotations` and `mark_annotations` properties affect exported output?
Table Structure Recognition
Building a Modular IDP Pipeline with Docling Components
TableFormer Confidence Scoring
Task Cancellation and Resource Leaks
Text Element Merging and Dehyphenation
Threaded PDF Backend
Tokenizer Backends
Torch Compile Optimization
VLM Coordinate System and Image Scaling
VLM Extraction Pipeline
VLM Formula and Code Extraction
VLM Image Cropping
VLM Inference Configuration
VLM Inference Engine
Building a Modular IDP Pipeline with Docling Components
VLM Picture Description
How can I use Docling's REST API to convert a PDF from a URL to Markdown with OpenAI-generated image descriptions, and is base64 encoding required for URL sources?
What are the differences between `vlm_pipeline_model_local` and `picture_description_local` in Docling, and how do image descriptions, OCR, and table extraction work together? Also, how do the `include_annotations` and `mark_annotations` properties affect exported output?
VLM Pipeline
VLM Token Limits and Truncation
XML Backend Architecture
Can I use a custom OCR model in Docling, and how do I set its path in the pipeline options?
Can docling-serve fetch documents from object storage (e.g., S3)?
Comment corriger la phrase : "Je suis allé à l'école en pied et mains je parte par quotidien des beaucoup de kilomètres cela est importante" ?
Content Layers
Does Docling automatically detect the language of a document when sending images to Tesseract OCR, and how can it be configured?
How can I enable and use GPU acceleration with Docling?
How can I find page numbers and bounding box information for content in a chunk produced by the hybrid chunker, and what is the structure of the doc_items list within a chunk?
How can a student build a local, open-source LLM-based system to extract and analyze technical PDF documents (PMS/IDC) and generate instrumentation datasheets, using Python on a PC with limited resources?
How can a student build a local, open-source, privacy-preserving AI system to extract and query technical PDF documents (PMS/IDC) on a PC with limited resources?
How can you make Docling read/understand images embedded in a DOCX file, and what is the correct code to use the VlmPipeline for this purpose?
How can you use Docling's REST API to convert a PDF to Markdown and generate image descriptions using an OpenAI model?
How do I set up a complete multi-format document processing pipeline using Docling that handles technical PDFs, HTML files, images, videos, audio, codebases, and schematics, and exports everything to organized agent-friendly markdown files?
How do you install and use Docling in Python on WSL2, including integration with an AI agent?
How do you use HybridChunker in Docling, including saving and reloading the converted document?
How does Docling support parallel/multiprocessing for document conversion, and what do the key performance parameters (`page_chunk_size`, `doc_batch_concurrency`, `doc_batch_size`) do?
How to properly enable `enable_remote_services` in Docling Serve (CPU image) to use an external OpenAI-compatible API for picture description and formula enrichment, and what is the correct config format?
No Docling, o uso de CUDA é obrigatório para processar PDFs com extração de texto e descrição de imagens, ou é opcional?
Quais são as melhores opções de OCR para extração de tabelas financeiras complexas em PDFs usando Docling, incluindo alternativas externas e integração com plugins?
Quelle est l'origine et le statut des êtres mathématiques selon Platon et John Stuart Mill ?
What are all the parameters of HybridChunker in Docling, and how do you use it with a custom tokenizer?
What are all the pipelines that exist in Docling, including their purposes, selection criteria, and how they handle scanned documents?
What are the detailed pipeline options and processing behaviors for PDF, DOCX, PPTX, and XLSX files in the Python SDK?
What are the steps to convert a complex payment advice PDF to Excel using Docling?
What does 'RFLP' stand for or refer to?
What is the best practice for extracting text from a mixed PDF (digital + scanned pages) for enterprise financial document processing without a GPU and with limited costs?
What is the best practice for processing a mixed PDF (digital + scanned pages) containing sensitive financial data in Docling, given no GPU and limited cost?
What is the general sentiment expressed about the messy nature of documents and content in the Docling project?
What is the recommended architecture and implementation for processing a mixed PDF bundle (digital + scanned pages) for an enterprise financial payment verification system (like MRT Jakarta's AI-Augmented Payment Flow), with constraints of no GPU and limited cost?
When processing large PDFs (700+ pages) with Docling's StandardPdfPipeline, what causes the `std::bad_alloc` errors and what are the recommended workarounds?
Which is the better option for running Docling: using 'docling serve' in Azure Container Apps or code-based deployment in Azure Function App (Windows Premium plan)?
Why are bounding boxes not available for items (such as images, tables, text) when using VlmPipeline with certain VLM presets (like Qwen/Markdown)?
Zoom on Layer 1 (L1): Layout Detection & Routing in a Modular IDP Pipeline
คู่มือการดึงรูปภาพจาก PDF และสร้าง Markdown พร้อม Alternative Text ด้วย Docling