gpt4 book ai didi

docker - 比较Docker标签

转载 作者:行者123 更新时间:2023-12-02 19:11:36 25 4
gpt4 key购买 nike

鉴于我建立并标记了图像,如下所示:

docker build -t foo:bar .
docker tag foo:bar foo:baz

以后如何确认两个标签是否引用相同的内容?我希望能够通过注册表API(v2)进行此操作,因为我本地可能没有两个镜像。

最佳答案

一种(麻烦的?)方法包括比较每个标签所附的 list 文件中注册的fsLayers:

下载http://your-registry/v2/repo/image/manifests/tag1http://your-registry/v2/repo/image/manifests/tag2:

{
"name": "repo/image",
"tag": "tag1",
"architecture": "amd64",
"fsLayers": [{
"blobSum": "sha256:d7958e841d1f103cc24e45cb6108eaf09ecf0b424f071ac6b6ab39241cec293d"
}, {
"blobSum": "sha256:d7958e841d1f103cc24e45cb6108eaf09ecf0b424f071ac6b6ab39241cec293d"
}, {
"blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
}],
"history": [
(...)
],
"schemaVersion": 1,
"signatures": [{
"header": { (...) },
"signature": "PwuBjXLvQE_DtF29YtyJF2N-zHkVGRh93It4zxL1Igtoi093ykMvXBL_0J6E6-eQVeYrXm3IdDAll-922zeYzQ",
"protected": "eyJmb3JtYXRMZW5ndGgiOjIwOTk0LCJmb3JtYXRUYWlsIjoiQ24wIiwidGltZSI6IjIwMTUtMTItMDdUMTM6NDE6MjJaIn0"
}]
}

然后比较 fsLayers数组。如果两个 list 之间的值相等,则根据这些标签中的任何一个构建容器都会得到相同的结果(即它们指向同一事物)。

如果您在本地有图像,则比较 imageId(通过每个标签的 docker inspect)比较容易。但是我不认为可以从注册表中获取此ID。

关于docker - 比较Docker标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35681322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com