Docker Registry Storage Calculator
Project storage needs for a private Docker registry from image count and retention.
About Docker Registry Storage Calculator
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
Worked example
With the default values below, Docker Registry Storage Calculator returns Estimated Registry Storage of 70.3. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Distinct Imagesaccepts 1–100,000 images
- 30 images
- Avg Tags Retainedaccepts 1–10,000 tags
- 20 tags
- Avg Compressed Image Sizeaccepts 1–50,000 MB
- 200 MB
- Layer Sharingaccepts 0–90 %
- 40 %
Results
- Estimated Registry Storage
- 70.3 GB
- Total Image Tags
- 600
- Deduplication Savings
- 48,000 MB
- Actual Storage
- 72,000 MB
Step by step
- 1Total tags= 600
- 2Naive storage (no sharing)= 117.2GB
- 3After deduplication= 70.3GB
Assumptions and limits
- The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 1 decimal place, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
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.
Related Calculators
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
