Container Registry Kit — 兼容 OCI Distribution Spec V2 的制品注册中心。
支持容器镜像和任意 OCI Artifact 格式制品的存储、代理与分发。
# 启动本地 Registry(默认监听 :5000)
crkit serve registry
# 指定端口
crkit serve registry --addr=:5070启动后可通过标准 OCI 工具访问:
docker pull localhost:5000/library/alpine
skopeo copy alpine:latest docker://localhost:5000/library/alpine:latest基于文件系统存储,无需外部依赖:
# 本地磁盘
crkit serve registry
# S3 对象存储
crkit serve registry --content-backend=s3://bucket/prefix启动本地缓存层,拉取时自动回源到远程 Registry:
crkit serve registry \
--remote-endpoint=https://docker.io \
--remote-username=user \
--remote-password=pass \
--addr=:5070不缓存,直接代理所有请求到远程 Registry:
crkit serve registry \
--remote-endpoint=https://docker.io \
--no-cache \
--addr=:5070| 命令 | 作用 |
|---|---|
serve registry |
启动 Registry HTTP 服务 |
gc |
垃圾回收:清理未被引用的孤立 Blob |
upload-purger |
清理超时未完成的分块上传 |
| 操作 | 路径 |
|---|---|
| 列出仓库 | GET /v2/_catalog |
| 列出标签 | GET /v2/{name}/tags/list |
| 获取/推送清单 | GET / PUT /v2/{name}/manifests/{reference} |
| 下载/上传 Blob | GET /v2/{name}/blobs/{digest} |
| 分块上传 Blob | POST /v2/{name}/blobs/uploads/ |
# 构建
just build
# 运行测试
just go test
# 代码生成
just go gen