Heuristic:Datahub project Datahub Docker Memory Preflight
| Knowledge Sources | |
|---|---|
| Domains | Deployment, Debugging |
| Last Updated | 2026-02-09 17:00 GMT |
Overview
Docker must have at least 4.3 GB memory and 13 GB disk space allocated before running DataHub quickstart. The CLI enforces this via automated preflight checks.
Description
The DataHub quickstart command runs automated preflight checks that validate Docker resource allocation before attempting to launch services. Docker Desktop's default memory allocation (typically 2 GB) is insufficient for the full DataHub stack. The 4.3 GB threshold includes a buffer because Docker under-reports allocated memory. The disk space check runs an Alpine container to measure available space, requiring 13 GB minimum.
Usage
Apply this heuristic before any Docker-based DataHub deployment. If you encounter mysterious container crashes or services failing to start, check Docker resource allocation first. This is the single most common cause of quickstart failures.
The Insight (Rule of Thumb)
- Action: Configure Docker Desktop to allocate at least 8 GB RAM and verify 13+ GB free disk space before running quickstart.
- Value: Minimum thresholds: 4.3 GB memory, 13 GB disk. Recommended: 8 GB RAM, 2 CPUs, 2 GB swap.
- Trade-off: Higher Docker resource allocation means less memory available for other applications on the host.
Reasoning
The DataHub stack runs 7+ containers simultaneously (MySQL/Postgres, Elasticsearch, Kafka, Zookeeper, Schema Registry, GMS, Frontend). Elasticsearch alone is limited to 1 GB within Docker Compose. With insufficient memory, containers get OOM-killed silently, leading to confusing "service unhealthy" errors. The preflight check catches this before the user wastes time debugging container-level issues.
The 4.3 GB threshold (rather than a round number) exists because Docker under-reports memory allocation. A buffer is included to account for this discrepancy.