Docker Push Time Calculator
Estimate docker push duration to a registry based on image size and upload speed.
About Docker Push Time Calculator
Docker push only uploads layers not already present in the registry. Push time = (compressedSize × layersToUpload/totalLayers) / uploadBandwidth + overhead. Keeping shared base layers constant means only your application layer changes need uploading.
Formula
Push Time
pushTime = (imageSize × newLayers / totalLayers) / (uploadBandwidth / 8) + overhead
- imageSize
- Compressed image size in MB
- newLayers
- Layers not yet in registry
- uploadBandwidth
- Upload bandwidth in Mbps
Worked example
With the default values below, Docker Push Time Calculator returns Estimated Push Time of 19.7. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Compressed Image Sizeaccepts 1–100,000 MB
- 250 MB
- Upload Bandwidthaccepts 1–100,000 Mbps
- 50 Mbps
- Layers to Uploadaccepts 1–200 layers
- 5 layers
- Total Layersaccepts 1–200 layers
- 12 layers
Results
- Estimated Push Time
- 19.7 seconds
- Push Time
- 0.33 minutes
- Data to Upload
- 104.2 MB
- Skipped (already in registry)
- 7 layers
Step by step
- 1Data to upload= 104.2MB
- 2Upload time + overhead= 19.7s
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 or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, 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
Why is push sometimes faster than pull?
Pushes benefit greatly from layer deduplication — if most layers already exist in the registry from previous pushes, only the changed layers need uploading, which can be a tiny fraction of the total image.
How does a CI pipeline affect push time?
CI runners often have high-bandwidth connections to nearby registries (same cloud region), and using layer caching in CI means incremental builds push only 1-2 changed layers.
Related Calculators
- Docker Image Compression Calculator
- Docker Pull Time Calculator
- Docker Registry Storage Calculator
- Docker Build Time Estimator
- Docker Container Startup Time Calculator
- Docker Bridge Network Calculator
- Docker Cache Efficiency Calculator
- Docker Container Density Calculator
- Docker Container Memory Calculator
- Docker CPU Limit Calculator
