some changes..
This commit is contained in:
parent
ec82414987
commit
0ea02d58d9
1 changed files with 19 additions and 4 deletions
21
.zshrc
21
.zshrc
|
@ -201,18 +201,33 @@ __docker__() {
|
||||||
local local_digest
|
local local_digest
|
||||||
local_digest=$(docker image inspect "$image" --format '{{index .RepoDigests 0}}' 2>/dev/null)
|
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
|
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
|
updated=true
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Get remote image digest using manifest inspect
|
# Get remote digest using pull --dry-run
|
||||||
local remote_digest
|
local remote_digest
|
||||||
|
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)
|
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
|
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
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue