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.csdn.net/zhonglinzhang/article/details/53484799



