Docker Pull Time Calculator
Calculate how long a docker pull will take given image size and network bandwidth.
Inputs
Image size as stored in the registry (compressed).
Available network bandwidth to the registry.
Number of layers downloaded concurrently (Docker default: 3).
Total number of layers in the image.
Estimated Pull Time
8.7seconds
Pull Time
0.14minutes
Effective Bandwidth
12.5MB/s
Raw Download (sequential)
20.0seconds
Step by step
Bandwidth in MB/s
100 Mbps / 8
= 12.5 MB/s
Raw download time
250MB / 12.5 MB/s
= 20.0s
With parallel layers + overhead
20.0s / 3 + 2s
= 8.7s
How it works
Docker pull time depends on compressed image size, network bandwidth, and layer parallelism. Docker downloads up to 3 layers concurrently by default. Formula: pullTime ≈ compressedSize / (bandwidth/8) / min(parallelLayers, layerCount) + overhead.
Formula
Pull Time
pullTime = compressedSize / (bandwidth / 8) / parallelLayers + overhead
- compressedSize
- Compressed image size in MB
- bandwidth
- Network bandwidth in Mbps
- parallelLayers
- Concurrent layer downloads
Frequently Asked Questions
Why is my actual pull slower than calculated?
Registry rate limits, TLS handshake overhead, DNS resolution, layer decompression after download, and network congestion all add time beyond raw transfer speed.
How can I speed up pulls?
Use a registry mirror close to your cluster, reduce image size with multi-stage builds and smaller base images, and increase --max-concurrent-downloads if bandwidth allows.
You might also need
- Docker Push Time CalculatorCommonly used together
- Docker Registry Storage CalculatorCommonly used together
- Docker Image Size CalculatorCommonly used together
- Docker Container Startup Time CalculatorCommonly used together
- Docker Image Compression CalculatorCommonly used together
- Docker Build Time EstimatorAlso in Docker