Does Docker daemon support per-registry concurrent download limits?
0 reputation · 23 Sept 2022, 18:01 UTC
Goal
Determine whether the Docker daemon can enforce concurrent image-layer download limits per registry rather than through a single global limit.
Constraints and uncertainty
The daemon exposes a global --max-concurrent-downloads option, defaulting to three concurrent downloads across all registries. No documented flag configures per-registry pool size, idle connections, or timeouts. The underlying Go HTTP transport may default to two idle connections per host, which can constrain high-throughput registry pulls. BuildKit's --max-parallelism controls build concurrency but does not override the daemon limit for legacy pulls. No official metric exposes current pool utilization.
Version assumption: Docker Engine daemon versions exposing --max-concurrent-downloads.
Questions
- Can
--max-concurrent-downloadsbe scoped per registry instead of applied globally? - Is there a supported method to monitor current registry connection pool usage?
- Does BuildKit parallelism affect legacy
docker pullbehavior through the daemon pool?