Quick Start
Using Pre-built Image
Convert a file using the Docker image:Building the Image
Build the Docker image from source:Build Arguments
The Dockerfile supports optional build arguments:Dockerfile Details
The MarkItDown Dockerfile is based onpython:3.13-slim-bullseye and includes:
1
Base Image
2
System Dependencies
3
Python Packages
4
User Configuration
Environment Variables
The following environment variables are set:Usage Examples
Basic File Conversion
Mount your files directory and convert:Save Output to File
Using stdin
Pipe content into the container:With Plugins
Plugins are already installed in the image:List Installed Plugins
Batch Conversion
Convert multiple files:Interactive Shell
Drop into a shell to run multiple commands:Docker Compose
Create adocker-compose.yml for repeated use:
Azure Document Intelligence
Pass Azure credentials via environment variables:Volume Mounting
Linux/macOS
Mount current directory:Windows (PowerShell)
Windows (Command Prompt)
Performance Considerations
Docker adds some overhead compared to native execution. For batch processing of many files, consider:
- Running the container in interactive mode and processing multiple files
- Using volume mounts efficiently
- Building the image locally to avoid download times
Troubleshooting
Permission Issues
If you encounter permission errors with output files:File Not Found
Ensure the file path is relative to the mounted volume:Missing Dependencies
The Docker image includes all optional dependencies by default. If you built a custom image without[all]:
Image Size
The image includes:- Python 3.13
- FFmpeg (for audio processing)
- ExifTool (for image metadata)
- All MarkItDown optional dependencies
- Sample plugin
Security
Best practices:- Keep the base image updated
- Use specific image tags in production
- Scan images for vulnerabilities
- Limit volume mounts to necessary directories only