LinkOS Mirrors
LinkOS Mirrors 是免费的公共容器镜像加速服务。每个上游仓库对应一个加速地址,把镜像地址里的仓库域名换成加速地址,照常拉取即可,不需要注册账号。
加速地址
| 加速地址 | 上游 | 示例 |
|---|---|---|
docker.linkos.org | Docker Hub(docker.io) | docker.linkos.org/library/nginx:latest |
gcr.linkos.org | gcr.io | gcr.linkos.org/distroless/static:nonroot |
ghcr.linkos.org | ghcr.io | ghcr.linkos.org/containerd/busybox:1.36 |
k8s.linkos.org | registry.k8s.io | k8s.linkos.org/pause:3.10 |
quay.linkos.org | quay.io | quay.linkos.org/coreos/etcd:v3.5.0 |
Docker Hub 的官方镜像(如 nginx、mysql)写成 library/<名称>,也可以直接写 docker.linkos.org/nginx。k8s.gcr.io 已于 2023 年冻结,Kubernetes 镜像请用 registry.k8s.io,对应 k8s.linkos.org。
快速使用
通过加速地址拉取,再改回原来的名字:
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想让所有 Docker Hub 镜像都自动走加速,在 /etc/docker/daemon.json 中加入以下内容(已有内容时请合并,不要整体覆盖),然后重启 Docker:
json
{
"registry-mirrors": ["https://docker.linkos.org"]
}Docker 的 registry-mirrors 只对 Docker Hub 生效,其他仓库的镜像仍需改写成加速地址。
containerd、Kubernetes 和 Podman
用浏览器打开任意一个加速地址(例如 docker.linkos.org),可以看到镜像地址转换工具,以及可直接复制的配置:containerd(hosts.toml)、k3s(registries.yaml)、Podman 和 CRI-O(registries.conf)、kind 和 kubeadm。
工作方式
- 只支持拉取。 不支持推送和
docker search,也不提供已缓存仓库的目录。 - 有缓存。 一个镜像第一次被拉取时从上游获取并保存下来,之后再拉取同一镜像直接走缓存。7 天内没人拉过的镜像会被清理。
- tag 跟随上游。 同一个 tag 最多每 5 分钟向上游确认一次,所以
latest这类会变的 tag 更新后,可能要几分钟才能拉到新版本。需要确定的镜像时,请按摘要(@sha256:…)拉取。 - 受上游限额影响。 Docker Hub 对匿名拉取按出口地址限额,而加速服务共用一个出口地址。很多人同时拉取还没缓存的新镜像时,可能返回
429,请稍后重试。 - 错误码。 上游不存在或私有的镜像返回
503而不是404,请先检查镜像名。其他5xx错误重试即可。
自行部署
LinkOS Mirrors 背后的配置是开源的。需要可靠性保障或更高限额时,可以自己部署一套:
- openlinkos/registry-mirrors:本服务所用的配置,带本地缓存(Caddy 加 zot)。
- openlinkos/registry-mirrors-caddy:只有一个 Caddy,不缓存,适合磁盘小或前面已有 CDN 的情况。
状态与支持
- 实时状态:uptime.linkos.org。
- 问题反馈:GitHub issue。
- 滥用和侵权内容:举报与投诉。