Docker Storage Driver Overhead Calculator
Compare overlay2, aufs and devicemapper storage driver overhead for your workload.
Inputs
Uncompressed image size on disk.
Number of containers sharing the image.
Average size of each container's writable (upper) layer.
Storage driver in use.
Total Disk Usage
1,510.0MB
Storage Driver Overhead
10.0MB
Total Writable Layers
1,000MB
Shared Image Disk
510.0MB
Step by step
Driver overhead on image
500MB × 2%
= 10.0MB
Shared image on disk (image + overhead)
500 + 10.0
= 510.0MB
Total writable layers
20 × 50MB
= 1000MB
Total disk usage
510.0 + 1000
= 1510.0MB
How it works
Docker storage drivers (overlay2, aufs, devicemapper) manage how image layers are stored and shared. overlay2 has minimal overhead (~2%), aufs slightly more (~5%), and devicemapper uses block-level copy-on-write with higher metadata overhead (~12%). Total disk = image × (1 + overhead) + containers × writable_layer.
Formula
Total Disk
totalDisk = image × (1 + overheadFactor) + containers × writableLayer
- image
- Image size in MB
- overheadFactor
- Driver-specific overhead (0.02–0.12)
- writableLayer
- Average writable layer per container
Frequently Asked Questions
Why is overlay2 recommended?
overlay2 uses efficient page-level copy-on-write directly on modern kernels (4.0+), has minimal metadata overhead, and is the default in all modern Docker installations.
When would devicemapper still be relevant?
On older RHEL/CentOS systems without overlay filesystem support, devicemapper (direct-lvm mode) was the only production-ready option, but it has been deprecated in favor of overlay2.