一只鸭子,
给你的镜像加速

透明的 OCI 镜像 pull-through 镜像站。把镜像名前缀换成本服务,照常用 docker pull —— 冷的慢慢抓,热的一跳到 S3。

# Docker Hub 镜像无需加 host 前缀
docker pull c.runclaw.cloud/library/alpine:latest

# 其他上游,名字里带上 host 即可
docker pull c.runclaw.cloud/ghcr.io/owner/image:tag

支持的上游

常见公共 registry 都能拉,Docker Hub 的不用加前缀。

Docker Hub
默认上游,最常用的官方与社区镜像。
docker pull c.runclaw.cloud/library/alpine:latest
GHCR
GitHub Container Registry,名字里带 host。
docker pull c.runclaw.cloud/ghcr.io/owner/image:tag
quay.io
Red Hat 托管的公共镜像仓库。
docker pull c.runclaw.cloud/quay.io/organization/image:tag
MCR
Microsoft Container Registry,.NET 等。
docker pull c.runclaw.cloud/mcr.microsoft.com/dotnet/runtime:8.0
public ECR
AWS 公共镜像仓库,免登录拉取。
docker pull c.runclaw.cloud/public.ecr.aws/.../image:tag
更多
符合 OCI Distribution Spec 的公共 registry。
c.runclaw.cloud/<host>/<repo>/<image>:<tag>

它是怎么工作的

鸭子下水三步走,透明不藏猫腻。

1

你来 pull

客户端照常 docker pull,镜像名前缀换成 c.runclaw.cloud,其余不动。

2

热的直接跳

缓存命中的 blob,直接 307 重定向到 S3 预签名链接,鸭子不中转字节流。

3

冷的等一下

没缓存的 blob 返回 503 Retry-After,鸭子在后台抓取并校验 SHA-256;下次重试即命中。

为什么用 duckoci

一个镜像加速器该有的样子:快、省事、不折腾。

免登录即用

公共镜像无需任何认证,换个前缀就能拉,不用配 token、不用登录。

换个前缀就行

不改 Dockerfile、不装插件、不动 daemon,镜像名前面加上本站域名即可。

热的秒回

命中的层直接从对象存储取,不经服务中转,速度只看你的带宽。

冷的一次就好

第一次拉取稍等,鸭子在后台抓回并缓存;之后所有人再拉都是热的。

多源一站拉

Docker Hub、GHCR、quay、MCR、public ECR,同一个地址全搞定。

多架构照拉

multi-arch 镜像按客户端架构自动选层,amd64 / arm64 都行。