Skip to content

Instantly share code, notes, and snippets.

@kamjin3086
Created October 29, 2024 09:22
Show Gist options
  • Save kamjin3086/cf6fd3ea41047dd2de9d23fd0a6671fe to your computer and use it in GitHub Desktop.
Save kamjin3086/cf6fd3ea41047dd2de9d23fd0a6671fe to your computer and use it in GitHub Desktop.
docker拉取镜像脚本-自动忽略失败的镜像地址.sh
#!/bin/bash
# 检查输入参数
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <image_name> <tag>"
exit 1
fi
IMAGE_NAME=$1
TAG=$2
# 代理地址列表
PROXY_ADDRESSES=(
"docker.registry.cyou"
"docker-cf.registry.cyou"
"dockerpull.com"
"dockerproxy.cn"
"docker.1panel.live"
"hub.rat.dev"
"dhub.kubesre.xyz"
"docker.hlyun.org"
"docker.kejilion.pro"
"registry.dockermirror.com"
"docker.chenby.cn"
"ccr.ccs.tencentyun.com"
"hub.littlediary.cn"
"hub.firefly.store"
"docker.nat.tf"
"hub.crdz.gq"
"noohub.ru"
"docker.nastool.de"
"hub.docker-ttc.xyz"
"freeno.xyz"
"docker.hpcloud.cloud"
"dislabaiot.xyz"
"ginger20240704.asia"
"doublezonline.cloud"
"dockerproxy.com"
"hub.xdark.top"
)
#PROXY_ADDRESSES=(
# "proxy1.example.com"
# "proxy2.example.com"
# "proxy3.example.com"
#)
# 遍历每个代理地址
for PROXY in "${PROXY_ADDRESSES[@]}"; do
FULL_IMAGE="$PROXY/$IMAGE_NAME:$TAG"
echo "Trying to pull $FULL_IMAGE..."
# 尝试拉取镜像
if docker pull "$FULL_IMAGE"; then
echo "Successfully pulled $FULL_IMAGE"
exit 0
else
echo "Failed to pull $FULL_IMAGE, trying next address..."
fi
done
echo "All proxy addresses failed for $IMAGE_NAME:$TAG"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment