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

Docker ADD命令--checksum参数无法使用SHA512算法的问题咨询

Docker ADD命令--checksum参数sha512校验失败问题

更新说明

  • 更新1:最初误以为是Docker Bug,提交相关报告后确认并非Bug,根源是官方文档描述错误
  • 更新2:问题已明确,详情见下文说明

问题场景

在Dockerfile中使用ADD命令下载tar包到容器内,尝试通过--checksum参数指定sha512哈希值做文件校验,命令示例如下:

ADD --checksum=sha512:theverylongsha512hashgoeshereblahblahblah https://url.for/the_tarball/the_tarball-1.33.7.tar.gz the_tarball-1.33.7.tar.gz

按照官方文档描述该用法应有效,但执行docker build时触发以下校验不匹配错误:

> [16/29] ADD --checksum=sha512:3d425c5a102d441da33030949ba5ec22e388ed0529c298a1984d62486d4924806949708b834229206ee5a36ba30f6de6d09989019e5790a8b665539f9489efd5     https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz ghostscript-10.04.0.tar.gz:            
------                                                                                                                                                      
ERROR: failed to solve: digest mismatch sha256:c764dfbb7b13fc71a7a05c634e014f9bb1fb83b899fe39efc0b6c3522a9998b1: sha512:3d425c5a102d441da33030949ba5ec22e388ed0529c298a1984d62486d4924806949708b834229206ee5a36ba30f6de6d09989019e5790a8b665539f9489efd5     

从错误信息可看出,Docker实际计算的是文件的sha256哈希值,却与指定的sha512值对比,导致校验失败。手动将参数替换为文件的sha256哈希值后,校验成功通过。

部分依赖软件包仅提供sha512哈希值,虽可手动计算sha256值,但希望确认是否存在遗漏的配置步骤。

使用环境

  • Docker版本:Docker version 26.0.0, build 2ae903e
  • 操作系统:MacOS 12.7,Docker Desktop从4.29更新至4.35后问题仍未解决

结论

经确认,此问题并非Docker Bug,而是官方文档描述有误:ADD命令的--checksum参数仅支持sha256算法,不支持sha512。因此只能使用sha256哈希值进行校验,若仅能获取sha512值,需手动转换为sha256值后再使用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 21:03:17