Cup:检查容器镜像更新的简单方法
简介
什么是 Cup ?
Cup是一个开源工具,旨在简化Docker容器的更新管理。它提供了一种快速且高效的方法来检查Docker镜像的更新。
主要特点
- 高效快速:
Cup优化了性能,能够快速检查多个镜像的更新,例如在Raspberry Pi 5上检查58个镜像仅需3.7秒。 - 广泛支持:支持多种容器注册表,包括
Docker Hub、ghcr.io、Quay、lscr.io及Gitea。 - 避免速率限制:
Cup设计时考虑到了Docker Hub对未认证用户的拉取限制,能够在不超出这些限制的情况下使用。 - 用户友好的界面:提供美观的命令行界面和网页界面,方便用户随时检查容器状态。
- 小巧的二进制文件:
Cup的大小仅为5.4 MB,避免了下载大容量的Docker镜像。 - JSON 输出:支持
CLI和网页界面输出JSON格式,便于与其他工具集成。
使用场景
Cup 适用于需要定期检查和更新 Docker 容器镜像的开发者和运维人员。

Cup 还是一个正在开发中的项目。所以它可能没有其他替代方案那么多功能。但提供了灵活性,用户可以通过定期调度任务来获取更新信息。
安装
在群晖上以 Docker 方式安装。镜像发布在 ghcr.io

需要用 SSH 客户端登录到群晖后,执行下面的拉取命令
如果没有科学上网,很可能会拉不动
1 | # 拉取镜像 |
下载完成后,可以在 映像 中找到

Cup 支持通过 CLI 和 Web 界面两种模式检查您的容器
CLI 模式
可以通过 check 命令检查所有的更新
1 | # 检查所有更新 |

也可以指定检查某个容器
1 | # 检查指定容器的更新 |

Web 模式
1 | # 运行容器(Server) |
在浏览器中输入 http://群晖IP:9055 就能看到主界面

点黄色的向上箭头

点蓝色的向上箭头

虽然老苏能下载 docker hub 的镜像,但是在运行 Cup 时,日志中会显示
1 | WARN GET https://registry-1.docker.io/v2/: Connection failed after 3 retries! |
可能是因为 docker hub 限制了未认证用户的拉取次数,而老苏机器上的镜像数量又比较多

因此在网页模式下 docker hub 的镜像都显示为了 Unknown

当然,以上只是老苏的猜测而已
参考文档
sergi0g/cup: 🥤Docker container updates made easy
地址:https://github.com/sergi0g/cupCup - The easiest way to manage your container updates
地址:https://cup.sergi0g.dev/Introduction
地址:https://cup.sergi0g.dev/docs