检查我的私有Docker注册表中是否存在特定层

问题描述 投票:1回答:1

我想检查我的私有Docker注册表中是否存在特定层。为此,我将检查blob是否存在:HEAD /v2/<name>/blobs/<digest>

我的问题是找到图层摘要。我已经尝试过使用layer.DiffID [使用DiffID = SHA256hex(uncompressed layer tar data)计算],但是因为DiffID不是图层摘要而无法正常工作。

任何人都知道如何计算/生成图层摘要?

docker docker-registry docker-image
1个回答
1
投票

Layer_Digest使用sha256sum(compressed_layer)和...计算

compressed_layer=gzip.NewWriter(uncompressed_layer)

要获得压缩层,您需要使用GOlang gzip实现。只有GOlang gzip正确返回压缩层,并且使用此压缩层,已经可以生成注册表中存在的摘要。

© www.soinside.com 2019 - 2024. All rights reserved.