EN
返回档案库

档案库 · 开发与企业工具 · 产品决策 · 2025–2026

Unregistry 押注 Docker 镜像可直接在服务器间传输,无需注册表——4.9k 星标

Pasha Sviderski 的 docker pussh 通过 SSH 仅将缺失的镜像层推送到远程主机;截至 2026 年 9 月,Show HN 获得 726 分,GitHub 星标 4.9k。

Unregistry (Pasha Sviderski)

它在赌什么将 Docker 镜像从 A 移到 B 根本不需要注册表——仅需通过 SSH 隧道连接到一个临时的、由 containerd 支持的注册表,该注册表以类似 rsync 的方式只传输缺失的层。已上线

做的是什么生意

Unregistry is a lightweight container-image registry that stores images directly in a server's containerd image store, plus a docker pussh CLI plugin that pushes images to remote Docker daemons over SSH, transferring only the layers the server lacks.

起因

Pasha Sviderski built Unregistry for Uncloud, his lightweight tool for deploying containers across multiple Docker hosts, after concluding that every existing way to get a locally built image onto a server was wrong for the job: public registries expose code or charge for privacy, self-hosted registries add a service to maintain and pay for, save-and-load re-transfers the entire image even when 90 percent already exists, and rebuilding remotely wastes time and server resources.

经过

The 2025-06-18 Show HN drew 726 points and 164 comments. In the thread Sviderski explained the key design constraint — the Docker daemon API cannot fetch or upload a single image layer, which is why the registry writes into containerd's image store — and fielded requests around docker compose and Kamal integration, noting Uncloud was next. By the 2026-09-05 archive crawl the repo showed 4.9k stars and 145 commits; community Debian packages and two GitHub Actions wrapped the plugin, and Uncloud's README listed Unregistry integration as a shipped feature.

还没有结局,它还在跑。

背景

Unregistry 是一个轻量级的容器镜像注册表,直接将镜像存储到 Docker 服务器的 containerd 镜像存储中,外加 docker pussh 命令行插件,可通过 SSH 将镜像推送到远程 Docker 主机。它只传输服务器缺失的层,然后拆除临时注册表——作者将其定位为 Docker 镜像的 rsync。

这一赌注源于一个具体的痛点:将本地构建的镜像移动到服务器。Docker Hub 或 GitHub Container Registry 会公开代码或收费以保私密;自建注册表需要维护;docker save 通过 ssh docker load 会重新传输所有内容,即使 90% 已存在;远程重建浪费时间并占用服务器资源。Sviderski 为 Uncloud(他的类似 Kamal 的跨 Docker 主机部署工具)构建了 Unregistry,Show HN 的推销点很简单:你可以不借助任何这些就能将镜像从 A 移到 B。

2025-06-18 的 Show HN 获得 726 分和 164 条评论;Sviderski 在讨论中解释了为何注册表写入 containerd 的镜像存储(Docker 守护进程 API 无法获取或上传单层),并回应了 docker compose 和 Kamal 集成的想法。到 2026-09-05 抓取时,仓库显示 4.9k 星标和 145 次提交,有 Homebrew tap、社区 Debian 包、两个第三方 GitHub Actions,并且 Unregistry 集成被列为 Uncloud README 中已发布的功能。

这件事要成立,得有什么

  • 所有替代方案都无法满足两行工作流:注册表增加了服务、账单或公开暴露;save/load 会重新发送已存在的层。
  • 机制本身就是卖点:SSH 隧道、临时 containerd 注册表、仅推送缺失层、清理——可见、安全且可逆。
  • 作为 Docker CLI 插件(docker pussh)发布,使采用只需一次安装和一个命令,因此第三方构建了 Debian 包和 CI 操作。
  • 它解决了作者在 Uncloud 中自己的部署问题,因此设计经过了实际使用测试,而不是为假设的市场构建。

可借鉴之处

为常见情况消除中间环节:当每个现有的简单移动方案都过于复杂时,提供两端之间的最短路径,即使这意味着在几秒钟内暗中运行一个注册表。

后续进展

截至 2026-09-05,Unregistry 是活跃开发中的实时开源软件:GitHub 上 4.9k 星标和 145 次提交,可通过 Homebrew tap 或直接下载安装,有 Debian 社区打包和两个用于 CI 管道的第三方 GitHub Actions。它所构建的部署工具 Uncloud 将 Unregistry 集成列为已发布功能,但仍处于 1.0 之前。材料中未出现公司、资金或收入数据;Unregistry 是一个开发者工具,其被采纳的证据是星标、第三方包装和对这一想法的接受,而非商业模式。

资料来源

发现哪里写错了?告诉我们。

轮到你了

你刚读完一家。说说你在做什么,看看谁在赌同一件事。

免费账号 · 3 次免费提问 · 不用绑卡

相关案例