两个Harbor镜像库之间备份拉取镜像的shell脚本

#当前日期
now=`date +%Y%m%d`

#镜像名
ImageName=web

#项目版本
itemVersion=v2.1

#测试环境镜像
test_images=测试环境IP地址:端口号/pbplatform/$ImageName

#产品环境镜像
project_images=正式环境IP地址:端口号/pbplatform/$ImageName

#产品备份镜像仓库
bk_project_images=测试环境IP地址:端口号/pbplatform/$ImageName:$itemVersion-$now.$BUILD_NUMBER

#清理环境
echo y | docker system prune -a

#拉取产品仓库的镜像
check_imges_project=`docker pull $project_images:$itemVersion | grep $test_images | wc -l`
if test $check_imges_project -gt 1;then
docker pull $project_images:$itemVersion
else
echo "产品仓库中没有该镜像"
fi

#备份该镜像
check_images=`docker images | grep $project_images | wc -l`
if ! test $check_images -lt 1;then
docker tag $project_images:$itemVersion $bk_project_images
#上传备份镜像
docker push $bk_project_images
else
echo "本地环境没有源自产品仓库镜像,无需删除"
fi

#清理环境
echo y | docker system prune -a

#拉取测试环境镜像
check_imges_tet=`docker pull $test_images:$TestVersion | grep $test_images | wc -l`
if test $check_imges_test -gt 1;then
docker pull $test_images:$TestVersion
else
echo "测试仓库中没有该镜像"
fi
 
**#Tag镜像**
check_images1=`docker images | grep $test_images | wc -l`
if ! test $check_images1 -lt 1;then
docker tag $test_images:$TestVersion $project_images:$itemVersion
#上传镜像到产品镜像仓库
docker push $project_images:$itemVersion
else
echo "不存在该镜像,无需删除"
fi

#清理环境
echo y | docker system prune -a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值