Проверьте, существует ли определенный слой в моем личном реестре Docker - PullRequest
0 голосов
/ 22 мая 2018

Я хочу проверить, существует ли определенный слой в моем личном реестре Docker.Для этого я проверю, существует ли BLOB-объект с: HEAD /v2/<name>/blobs/<digest>.

Моя проблема - найти дайджест слоя.Я уже пробовал с layer.DiffID [рассчитывается с DiffID = SHA256hex(uncompressed layer tar data)], но это не работает, потому что DiffID не является дайджестом слоя.

Кто-нибудь знает, как рассчитать / сгенерировать дайджест слоя?

1 Ответ

0 голосов
/ 06 сентября 2018

Layer_Digest рассчитывается с помощью sha256sum(compressed_layer) и ...

compressed_layer=gzip.NewWriter(uncompressed_layer).

. Чтобы получить сжатый слой, вам необходимо использовать реализацию GOlang gzip.Только GOlang gzip корректно возвращает сжатый слой, и с этим сжатым слоем уже можно генерировать дайджест, который присутствует в реестре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...