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

AKS拉取Gitlab自定义Docker镜像失败,报layer大小校验错误

排查思路
  • 清理AKS节点本地缓存层:删除Deployment/Pod不会清除节点容器运行时本地留存的无效镜像层缓存。登录报错Pod调度到的对应AKS节点,若使用containerd运行时执行crictl rmi {registry}/{image}:latest强制删除本地残留镜像;若使用Docker运行时执行docker rmi {registry}/{image}:latest,清理完成后重新创建Pod测试。
  • 校验Gitlab仓库镜像manifest完整性:本地执行docker manifest inspect {registry}/{image}:latest,查看返回的层哈希列表中是否包含报错的sha256:e1acddbe380c63f0de4b77d3f287b7c81cd9d89563a230692378126b46ea6546。如果存在该值说明仓库侧manifest与实际存储的镜像层不匹配,删除Gitlab仓库内该标签对应的所有镜像版本后重新推送即可。
  • 排查网络链路异常:在报错的AKS节点上手动执行镜像拉取命令,验证能否正常拉取镜像。同时确认集群是否配置了镜像代理、仓库域名是否被劫持、网络策略/防火墙是否截断了镜像层传输,导致拉取时返回空内容触发大小校验失败。
  • 核对容器运行时仓库配置:查看节点/etc/containerd/config.toml(containerd运行时)或/etc/docker/daemon.json(Docker运行时)文件,确认是否配置了指向你自建Gitlab仓库的镜像缓存源,若存在可临时禁用该配置并重启容器运行时后测试,避免第三方mirror缓存了无效的旧镜像层。
  • 使用唯一版本标签规避标签覆盖问题:latest标签属于可变标签,多次推送不同内容的镜像到同一latest标签时极易触发manifest与层不匹配的问题。建议每次构建镜像使用唯一的版本号作为标签,拉取时指定固定版本号而非latest。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:45:03