Skip to content

LinkOS Mirrors ​

LinkOS Mirrors is a free mirror of public container registries. Each upstream registry has its own address; replace the registry in an image address and pull as usual. No account is needed.

Addresses ​

MirrorUpstreamExample
docker.linkos.orgDocker Hub (docker.io)docker.linkos.org/library/nginx:latest
gcr.linkos.orggcr.iogcr.linkos.org/distroless/static:nonroot
ghcr.linkos.orgghcr.ioghcr.linkos.org/containerd/busybox:1.36
k8s.linkos.orgregistry.k8s.iok8s.linkos.org/pause:3.10
quay.linkos.orgquay.ioquay.linkos.org/coreos/etcd:v3.5.0

Official Docker Hub images such as nginx or mysql are written as library/<name>; the short form docker.linkos.org/nginx works too. k8s.gcr.io was frozen in 2023; Kubernetes images come from registry.k8s.io, which is k8s.linkos.org.

Quick start ​

Pull through the mirror, then give the image its usual name:

bash
docker pull docker.linkos.org/library/nginx:latest
docker tag docker.linkos.org/library/nginx:latest nginx:latest
docker rmi docker.linkos.org/library/nginx:latest

To send every Docker Hub pull through the mirror, add it to /etc/docker/daemon.json (merge it with what is already there), then restart Docker:

json
{
  "registry-mirrors": ["https://docker.linkos.org"]
}

Docker's registry-mirrors setting only applies to Docker Hub. Images from the other registries still need the mirror address.

containerd, Kubernetes and Podman ​

Open any mirror address in a browser, such as docker.linkos.org, for an address converter and ready-to-copy settings for containerd (hosts.toml), k3s (registries.yaml), Podman and CRI-O (registries.conf), kind and kubeadm.

How it works ​

  • Pull only. The mirrors answer pulls and nothing else: no pushes, no docker search, and no catalog of the cached repositories.
  • Cached. The first pull of an image fetches it from the upstream registry and keeps it; later pulls of the same image come from the cache. Images that nobody has pulled for 7 days are removed.
  • Tags follow the upstream. A tag is checked against the upstream registry at most every 5 minutes, so a moved tag such as latest can take a few minutes to show up. Pull by digest (@sha256:…) when you need an exact image.
  • Upstream limits apply. Docker Hub limits anonymous pulls per address, and the mirrors share one address, so an image that is not cached yet can fail with 429 when many people pull new images at once. Try again later.
  • Errors. An image that does not exist upstream, or is private, gives 503 rather than 404: check the name. Retry other 5xx errors.

Run your own ​

The configuration behind LinkOS Mirrors is open source. Run your own copy if you need guarantees or higher limits:

Status and support ​

The service is provided under the terms of use and records what the privacy notice describes.