运维" />
简介
什么是 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
客户端登录到群晖后,执行下面的拉取命令
如果没有科学上网,很可能会拉不动
# 拉取镜像
docker pull ghcr.io/sergi0g/cup
下载完成后,可以在 映像
中找到
Cup
支持通过 CLI
和 Web
界面两种模式检查您的容器
CLI 模式
可以通过 check
命令检查所有的更新
# 检查所有更新
docker run -it \-v /var/run/docker.sock:/var/run/docker.sock \ghcr.io/sergi0g/cup \check
也可以指定检查某个容器
# 检查指定容器的更新
docker run -it \-v /var/run/docker.sock:/var/run/docker.sock \ghcr.io/sergi0g/cup \check ghcr.io/sergi0g/cup:latest
Web 模式
# 运行容器(Server)
docker run -it \-p 9055:9000 \-v /var/run/docker.sock:/var/run/docker.sock \ghcr.io/sergi0g/cup \serve -p 9000
在浏览器中输入 http://群晖IP:9055
就能看到主界面
点黄色的向上箭头
点蓝色的向上箭头
虽然老苏能下载 docker hub
的镜像,但是在运行 Cup
时,日志中会显示
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/cup
Cup - The easiest way to manage your container updates
地址:https://cup.sergi0g.dev/
Introduction
地址:https://cup.sergi0g.dev/docs