#!/bin/bash# 设置文件夹路径
FOLDER_PATH=$1# 设置目标仓库地址
TARGET_REPO=$2# 进入文件夹
cd $FOLDER_PATH# 列出文件夹中所有的 Docker 镜像文件
images=$(ls *.tar.gz)# 遍历所有镜像文件
for image in $images; do# 加载镜像echo "Loading image: $image"loadLog=$(docker load < $image)dockerImgae=$(echo $loadLog | awk 'END {print}' | awk -F'Loaded image: ' '{print $2}')serverName=$(echo $dockerImgae | awk -F'/' '{print $NF}')echo $dockerImgaeecho $serverName# 如果镜像存在,则重命名if [ -n "$dockerImgae" ]; thennew_tag="${TARGET_REPO}/${serverName}"echo "Tagging $dockerImgae as $new_tag"docker tag $dockerImgae $new_tagecho "Pushing $new_tag"docker push $new_tagelseecho "No image found for $image"fi
doneecho "All images processed."
可以通过以下方式实现批量处理镜像并推到客户镜像库中
sh docker_load.sh 存放镜像的文件夹(/root/images) 目标的仓库地址(docker-hub.gitee.work/gitee-prod)