【Docker项目实战】使用Docker部署Cup容器镜像更新工具

举报
江湖有缘 发表于 2025/07/29 00:52:17 2025/07/29
【摘要】 【Docker项目实战】使用Docker部署Cup容器镜像更新工具


一、Cup工具介绍

1.1 Cup简介

Cup 是一个轻量级、快速的 Docker 容器更新工具,旨在帮助用户高效地管理和更新容器镜像,同时避免触发镜像仓库的拉取频率限制。

1.2 Cup主要特点

  • 极速更新:充分利用 CPU 性能并高度优化,实现闪电般的更新速度。
  • 多仓库支持:支持包括 Docker Hub、GitHub Container Registry、Quay、lscr.io 甚至 Gitea 在内的多个容器镜像仓库。
  • 无速率限制:不会触发镜像仓库的拉取限制,特别适用于 Docker Hub 对未认证用户的拉取限制场景。
  • 美观的界面:提供直观的命令行界面(CLI)和 Web 界面,随时查看容器状态。
  • 轻量级二进制:体积小巧,当前版本仅 5.4MB,无需下载庞大的镜像。
  • 结构化输出支持:CLI 和 Web 界面均支持 JSON 输出格式,便于集成自动化流程、Webhook 或构建可视化仪表盘。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1。

hostname IP地址 操作系统版本 Docker版本 部署项目
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 Cup容器更新工具

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Cup容器更新工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven01:~#  systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2025-07-02 14:16:57 UTC; 21h ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 878 (dockerd)
      Tasks: 28
     Memory: 1.2G
        CPU: 1min 50.356s
     CGroup: /system.slice/docker.service
             ├─  878 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven01:~# docker compose version
Docker Compose version v2.19.1

四、拉取Cup容镜像

  • 拉取Cup容器镜像,如下所示:
docker pull ghcr.io/sergi0g/cup:latest

在这里插入图片描述

  • 如果拉取过慢,可使用以下镜像:
docker pull ghcr.nju.edu.cn/sergi0g/cup:latest

五、部署Cup服务

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/cup   &&  cd /data/cup 

5.2 命令行模式(可选)

检查指定容器镜像的更新,其中 ghcr.io/ofkm/arcane:latest为待检查的镜像名称。

docker run -it \
   -v /var/run/docker.sock:/var/run/docker.sock \
   ghcr.io/sergi0g/cup \
   check ghcr.io/ofkm/arcane:latest

在这里插入图片描述

5.3 Web模式部署

执行以下命令,后台运行cup容器,可以在web界面对容器镜像进行更新操作。

root@jeven01:/data/cup# cat docker-compose.yaml
services:
  cup:
    image:  ghcr.nju.edu.cn/sergi0g/cup
    restart: always
    command: serve
    ports:
      - 8000:8000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

执行以下命令,创建cup容器。

root@jeven01:/data/cup# docker compose up -d
[+] Running 2/2
 ? Network cup_default  Created                                                                                                               0.0s
 ? Container cup-cup-1  Started                                                                                                               0.2s

5.4 查看Cup容器状态

检查Cup容器运行状态,确保Cup容器正常启动。

root@jeven01:/data/cup#  docker ps
CONTAINER ID   IMAGE                                                 COMMAND                  CREATED         STATUS                  PORTS                            NAMES
62e338d78d86   ghcr.nju.edu.cn/sergi0g/cup                           "/cup serve"             2 minutes ago   Up 2 minutes            0.0.0.0:8000->8000/tcp, [::]:8000->8000/tcp       cup-cup-1

5.5 查看Cup容器日志

检查Cup容器运行日志,确保Cup服务正常运行。注意第一次部署会等待很长时间,会拉取宿主机的所有容器镜像最新版本。

root@jeven01:/data/cup# docker logs cup-cup-1
 INFO Starting server, please wait...
 INFO ? Checked 4 images in 3583ms
 INFO Ready to start!

在这里插入图片描述

六、访问Cup服务

浏览器地址: http://<个人的服务器IP>:8000,访问Cup的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

七、总结

通过本次实战,我们成功使用 Docker 部署了 Cup 容器更新工具,充分发挥了其轻量、快速和免受速率限制的优势。Cup 不仅简化了 Docker 容器的更新流程,还提供了友好的 Web 界面和结构化输出,极大提升了容器管理的效率。结合 Docker 的便捷部署能力,Cup 成为了运维自动化和容器镜像管理的理想选择。


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。