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

如何通过CLI获取Artifactory中软件包的Digest SHA值?

解决Artifactory CLI获取Docker镜像Digest SHA的问题

问题原因分析

  • 第一个命令:你下载的是镜像归档文件,计算的是整个tar包的SHA256哈希,但Artifactory显示的Digest是Docker镜像的manifest或config的SHA256哈希,二者不属于同一对象,因此必然不匹配。
  • 第二个命令:URL路径错误(误用Artifactory的storage API而非Docker V2兼容API),且存在语法错误(引号未闭合、管道符位置不正确),导致返回空白。

正确命令示例

1. 获取Artifactory界面显示的镜像Digest(通常是Manifest的SHA256)

使用Artifactory兼容的Docker V2 API请求镜像manifest,响应头中的Docker-Content-Digest就是界面显示的Digest值:

curl -s -u username:password -I -H "Accept: application/vnd.docker.distribution.manifest.v2+json" "https://artifactory.com/artifactory/x-a12345-docker-core-local/v2/dev/<repo>/manifests/<tag>" | grep -i Docker-Content-Digest
  • -I 参数仅获取响应头,执行效率更高
  • 输出示例:Docker-Content-Digest: sha256:abcdef1234567890...

2. 获取镜像Config的Digest(若界面显示的是该值)

如果需要的是镜像config的哈希,先请求manifest内容再解析:

curl -s -u username:password -H "Accept: application/vnd.docker.distribution.manifest.v2+json" "https://artifactory.com/artifactory/x-a12345-docker-core-local/v2/dev/<repo>/manifests/<tag>" | jq -r '.config.digest'

验证注意事项

  • 替换命令中的<repo>为实际镜像仓库名,<tag>为镜像标签
  • 确保你的账号拥有该镜像仓库的读取权限
  • 若使用Artifactory的Docker虚拟仓库,需对应调整路径中的仓库名称

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 11:52:45