Docker Registry Storage Calculator
Project storage needs for a private Docker registry from image count and retention.
Inputs
Number of distinct image repositories.
Average number of tags (versions) kept per image.
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
Total tags
30 × 20
= 600
Naive storage (no sharing)
600 × 200MB
= 117.2GB
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
- Docker Image Size CalculatorCommonly used together
- Docker Pull Time CalculatorCommonly used together
- Docker Push Time CalculatorCommonly used together
- Docker Volume Size CalculatorCommonly used together
- Docker Log Growth CalculatorCommonly used together
- Docker Storage Driver Overhead CalculatorAlso in Docker