Docker Hub rate limits can be a real problem for self-hosted CI runners. Running a local Docker registry in pull-through cache mode solves this, but configuring multiple mirrors (e.g., for both docker.io and ghcr.io) is poorly documented. The Docker daemon itself only supports mirroring Docker Hub and cannot use multiple mirrors effectively. However, buildx/buildkit can be configured with multiple registry mirrors by running each mirror on a separate port and updating the buildkitd.toml config. Kubernetes users need to configure the CRI plugin in containerd separately. The post walks through concrete config examples for single and multiple mirror setups, including how to verify the cache is working via access logs.

7m read timeFrom blog.alexellis.io
Post cover image
Table of contents
A single registrySetting up multiple mirrorsWrapping up

Sort: