App Keeper:一个 Docker 应用安装工具的设计思路

要解决的问题

内网服务器上安装、升级 Docker 应用,原来的做法是每台机器登上去手写 compose 再敲命令。步骤不复杂,但重复且容易出错,于是有了 App Keeper。

形态选择

纯 HTML/JS 的轻量页面,不引入构建工具,丢到任意静态服务器就能用。所有数据来自 AppHub 的开放 API,工具本身零配置——这是刻意为之的约束:工具越轻,部署和维护成本越低。

核心流程

  1. 输入应用的 appKey;
  2. 调用 GET /api/open/apps/{appKey},拿到应用信息与版本列表;
  3. 选择目标版本;
  4. 本地生成 compose 配置并执行 Docker 命令。

安装和升级走同一条路径,区别只是版本号不同。appKey 作为唯一标识贯穿全流程,元数据集中维护在 AppHub,工具不保存任何应用状态。

升级策略

镜像保留最近 3 个版本。升级时先拉取新镜像,成功后再切换,失败可以回退到上一个版本。保留策略在界面上有明确提示,避免用户误以为任意历史版本都可回退。

接口设计上的两个决定

工具类产品第一版一定要克制:把「能用」做稳,再谈扩展。App Keeper 到现在也没有计划加任何花哨功能。
← 上一篇:Harbor API 代理实践 返回文章列表