Skip to content
Calcrivo

Docker Storage Driver Overhead Calculator

Compare overlay2, aufs and devicemapper storage driver overhead for your workload.

Inputs

MB

Uncompressed image size on disk.

containers

Number of containers sharing the image.

MB

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

  1. Driver overhead on image

    500MB × 2%

    = 10.0MB

  2. Shared image on disk (image + overhead)

    500 + 10.0

    = 510.0MB

  3. Total writable layers

    20 × 50MB

    = 1000MB

  4. 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.

You might also need