Skip to content
Calcrivo

Docker Pull Time Calculator

Calculate how long a docker pull will take given image size and network bandwidth.

Inputs

MB

Image size as stored in the registry (compressed).

Mbps

Available network bandwidth to the registry.

layers

Number of layers downloaded concurrently (Docker default: 3).

layers

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

  1. Bandwidth in MB/s

    100 Mbps / 8

    = 12.5 MB/s

  2. Raw download time

    250MB / 12.5 MB/s

    = 20.0s

  3. 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