1. Artifacts的sha256 来源
harbor 中 Artifacts 显示不是tag而是sha256字符串,他不是harbor自己生成的,是docker push之前就已经存在的,可以通过
docker images --digests 查看

- digest在docker镜像存储系统中代表的是一个地址,类似操作系统中的一个内存地址概念,通过这个地址,可以找到文件的内容,这种可寻址的设计是v2版本的重大改变。在docker hub储存系统中,所有文件都是有地址的,这个digest就是由某种高效的sha算法通过对文件内容计算出来的。
manifestDigest, err = schema2ManifestDigest(ref, mfst)
mfst指的是:镜像就是由许多Layer层组成的文件系统,重要的是每个镜像有一个manifest,这个东西跟springboot中的一个概念,就是文件清单的意思。一个镜像是由许多Layer组成,总需要这个manifest文件来记录下到底由哪几个层联合组成的。要扫描分析一个镜像,首先你就必须获取到这个镜像的manifest文件,通过manifest文件获取到镜像所有的Layer的地址digest
综上,当docker build 镜像时,就会产生一个digest,只要镜像的内容不变,digest就是不变的
参考
https://www.coder55.com/article/1486
https://blog.youkuaiyun.com/zhonglinzhang/article/details/53484799
Docker镜像的digest是通过高效的SHA算法(如SHA256)对文件内容计算得出的唯一标识。它在镜像构建时产生,并在内容不变时保持恒定。digest在镜像存储系统中扮演关键角色,作为可寻址的地址,用于查找和验证文件内容。manifest是记录镜像由哪些Layer组成的清单,digest则能确保镜像内容的完整性和一致性。
1万+

被折叠的 条评论
为什么被折叠?



