Skip to content
Calcrivo

Docker Registry Storage Calculator

Project storage needs for a private Docker registry from image count and retention.

Inputs

images

Number of distinct image repositories.

tags

Average number of tags (versions) kept per image.

MB

Average compressed size per image tag.

%

Estimated percentage of layers shared across tags (deduplication).

Estimated Registry Storage

70.3GB

Total Image Tags

600

Deduplication Savings

48,000MB

Actual Storage

72,000MB

Step by step

  1. Total tags

    30 × 20

    = 600

  2. Naive storage (no sharing)

    600 × 200MB

    = 117.2GB

  3. After deduplication

    117.2GB × (1 − 40%)

    = 70.3GB

How it works

Registry storage is driven by: images × tags × avg_size, reduced by layer deduplication (shared base layers stored once). Formula: storage = images × tags × avgSize × (1 − layerSharing%). Aggressive tag retention policies and shared base images significantly reduce actual storage.

Formula

Registry Storage

storage = images × tags × avgSize × (1 − layerSharing%)

images
Number of distinct image repos
tags
Average retained tags per image
avgSize
Average compressed size
layerSharing%
Deduplication factor

Frequently Asked Questions

How does garbage collection affect storage?

Running registry garbage collection removes unreferenced blobs (layers no longer pointed to by any manifest), reclaiming space from deleted tags — without GC, deleted tags still occupy disk.

What's a good retention policy?

Keep the last N tags per image (e.g. 10-20) plus any tags matching production release patterns; aggressively prune development/feature-branch tags older than a few days.

You might also need