some changes..

This commit is contained in:
pika 2025-04-13 10:09:44 +02:00
parent ec82414987
commit 0ea02d58d9

23
.zshrc
View file

@ -201,18 +201,33 @@ __docker__() {
local local_digest
local_digest=$(docker image inspect "$image" --format '{{index .RepoDigests 0}}' 2>/dev/null)
# If no local digest exists, force check
if [[ -z "$local_digest" ]]; then
echo -e "${YELLOW}Image not present or digest unavailable. Update needed.${NC}"
echo -e "${YELLOW}Image not present locally. Update needed.${NC}"
updated=true
continue
fi
# Get remote image digest using manifest inspect
# Get remote digest using pull --dry-run
local remote_digest
remote_digest=$(DOCKER_CLI_EXPERIMENTAL=enabled docker manifest inspect -v "$image" 2>/dev/null | jq -r '.Descriptor.digest' 2>/dev/null)
remote_digest=$(docker pull --quiet --dry-run "$image" 2>/dev/null | awk '/Digest:/{print $2}')
# Fallback to manifest inspect if dry-run fails
if [[ -z "$remote_digest" ]]; then
remote_digest=$(DOCKER_CLI_EXPERIMENTAL=enabled docker manifest inspect -v "$image" 2>/dev/null | jq -r '.Descriptor.digest' 2>/dev/null)
fi
if [[ -z "$remote_digest" ]]; then
echo -e "${RED}Failed to retrieve remote digest. Skipping.${NC}"
echo -e "${RED}Failed to retrieve remote digest. Performing forced check...${NC}"
# Fallback method: Pull image and compare before/after digests
local pre_pull_digest=$(docker image inspect "$image" --format '{{index .RepoDigests 0}}' 2>/dev/null)
docker pull --quiet "$image" >/dev/null
local post_pull_digest=$(docker image inspect "$image" --format '{{index .RepoDigests 0}}' 2>/dev/null)
if [[ "$pre_pull_digest" != "$post_pull_digest" ]]; then
echo -e "${GREEN}Update found during forced pull${NC}"
updated=true
fi
continue
fi