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

Docker镜像推送至容器注册表时文件校验和失败求助

Docker镜像推送时文件校验和失败的原因及解决办法

错误日志

vineescar@Vijeyakumars-MacBook-Pro palaly-expression-builder % docker push ruleengine.azurecr.io/ruleengine:latest
The push refers to repository [ruleengine.azurecr.io/ruleengine]
bf45d8951c0e: Layer already exists 
f3e1bae0bb3f: Layer already exists 
5b48befaff31: Layer already exists 
fbc8c9dabc6a: Layer already exists 
94643e63d24c: Layer already exists 
8faef4eb93ef: Layer already exists 
c5a4f85fb941: Layer already exists 
0afa6796154a: Layer already exists 
b11bb163e263: Layer already exists 
b779a72428fa: Pushing [==================================================>]  176.7MB/176.7MB
8ada682d3780: Layer already exists 
15bb10f9bb3a: Layer already exists 
file integrity checksum failed for "etc/bash_completion.d/git-prompt" 

用户问题

请问有人知道该问题的原因吗?
我预期将本地Docker镜像上传至容器注册表,但推送过程中出现了上述文件校验和失败的错误。

原因及解决办法

  • 镜像文件损坏:本地镜像里的etc/bash_completion.d/git-prompt文件在构建或存储时损坏,导致校验和不匹配。
    解决:重新构建镜像,确保构建过程无文件写入错误;也可以用docker save导出镜像再导入,验证文件完整性后再推送。
  • Docker缓存异常:构建镜像时依赖了损坏的旧缓存层,缓存中的文件未被正确更新。
    解决:构建时添加--no-cache参数,强制重新构建所有层,避开损坏的缓存。
  • 网络传输故障:推送过程中网络波动导致文件传输不完整,触发校验和验证失败。
    解决:检查网络连接稳定性,重新执行docker push命令;如果是Azure容器注册表的网络问题,可切换网络环境或检查注册表的访问权限、运行状态。
  • 本地磁盘问题:存储镜像的本地磁盘存在错误,导致文件读取异常。
    解决:检查磁盘健康状态,修复磁盘错误后,重新构建或拉取镜像再尝试推送。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 19:59:52