「Docker」- 拉取镜像:docker pull

  CREATED BY JENKINSBOT

DIGEST

docker pull | Docker Documentation
Where can I find the sha256 code of a docker image? – Stack Overflow
go-containerregistry/crane.md at main · google/go-containerregistry · GitHub

digest 是镜像的唯一身份,不会被修改(而 tag 会被修改),通过 digest 能够获取确定版本的镜像。

问题:摘要发生变化

我们目前发现的问题是
1)当 docker tag 后,不同仓库地址的 Digest 不同。通过 docker inspect --format='{{index .RepoDigests 0}}' $IMAGE 会发现多个摘要;
2)当推送镜像后,将仅保留当前仓库的 Digest 信息,而原始仓库的 Digest 信息将不会被推送到当前仓库中;

通过 crane cp 命令,能够解决该问题:

./crane cp \
    registry.k8s.io/ingress-nginx/controller:v1.2.1  \
    registry.example.com/ingress-nginx/controller:v1.2.1

# 在 Harbor 中,crane 无法使用多级镜像路径,即 registry.example.com/a/b/c/ingress-nginx/controller:v1.2.1 将失败;