You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CircleCI镜像缓存疑问:两类镜像拉取状态日志提示的差异原因

CircleCI镜像拉取日志差异及缓存异常原因说明

两条拉取日志的核心差异

  • pull stats: Image was already available so the image was not pulled:当前执行任务的宿主机器已缓存对应版本的目标镜像,无需从远端镜像仓库拉取,可直接启动容器执行后续任务。
  • image cache not found on this host, downloading cimg/node:14.17.6:当前执行任务的宿主机器未匹配到对应镜像的有效缓存,需要先从镜像仓库下载完整镜像资源后才能启动容器。

CircleCI官方对下一代镜像的缓存优化说明如下:

"and a higher likelihood that the image is already cached on the host."

该表述仅指下一代镜像的缓存命中概率相对传统镜像更高,并不保证100%命中。

同一镜像缓存状态波动的常见原因

出现同一镜像前一次运行无需拉取、后一次运行需要重新下载的情况,通常由以下几个因素导致:

  • 任务调度到不同宿主:CircleCI的任务运行环境属于共享弹性资源池,前后两次提交的任务不一定会被分配到同一台物理宿主上。前一次任务分配到了已经缓存过该镜像的机器,后一次任务分配到了从未拉取过该镜像、或者镜像已被清理的机器,就会触发重新下载逻辑。
  • 宿主缓存被自动回收:为了避免磁盘空间被大量冗余镜像占满,宿主机器会定期清理长时间未被使用的镜像缓存。即便两次任务被分配到了同一台机器,如果两次运行的间隔时间超过了缓存保留周期,对应镜像也会被系统清理,需要重新拉取。
  • 镜像发生隐性更新:如果官方对同一个标签的镜像做了补丁更新(比如修复底层系统漏洞、更新基础依赖),即使镜像的标签没有变化,镜像的实际哈希值已经发生改动,宿主上存储的旧版本同标签镜像不会被识别为匹配缓存,也会触发重新下载。

相关日志截图

内容的提问来源于stack exchange,提问作者user1665355

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 22:48:03