Я пытаюсь идентифицировать теги докера, которые указывают на то же изображение, что и, например, последний делает, так что я могу определить конкретный не «плавающий» тег.
Я пытаюсь следовать https://docs.docker.com/registry/spec/api/, но в соответствии с этой документацией мне придется использовать, например, https://registry.hub.docker.com/v2/repositories/library/maven/tags/list, если я прав, но у меня только https://registry.hub.docker.com/v2/repositories/library/maven/tags/ работает.
Итак, я нашел способ получить все теги. Но теперь я хотел бы получить дайджесты без загрузки изображений следующим образом:
docker pull maven:3.3
docker inspect --format='{{index .RepoDigests 0}}' maven:3.3
Поскольку загрузка занимает много времени, я не хочу загружать все изображения.
Поэтому я пытаюсь использовать API, но, как и ожидалось, https://registry.hub.docker.com/v2/maven/manifests/3.3 не работает.
Поэтому мне интересно, как я могу получить манифест, чтобы иметь возможность извлечь дайджест изображения, чтобы я мог идентифицировать соответствующие теги.
Или есть способ, подобный
docker image list-similar latest
Текущее состояние решения
retrieveTags () {
local IMAGE="$1"
printf "Retrieve tags [IMAGE=%s]\n" "${IMAGE}" >&2
local i=1
while curl -k ${D_REGISTRY_ADDRESS}/v2/repositories/library/${IMAGE}/tags/?page=$i 2>/dev/null | jq -r '."results"[]["name"]' 2>/dev/null
do
i=$((i+1))
printf "." >&2
done
printf "DONE\n" >&2
}
readonly D_IMAGE="maven"
readonly D_TAG="latest"
readonly D_REGISTRY_ADDRESS="${REGISTRY_ADDRESS:-https://registry.hub.docker.com}"
FOUND_TAGS="`retrieveTags maven`" 2>&1
echo "Found tags: ${FOUND_TAGS}"
Привет