镜像拉取并且重命名推送到第三方镜像仓库

#!/bin/bash
 
set -e

dst_user=tanjunchen
dst_repo=docker.io

pull_tag_push_image(){
    while read image; do
        if [ -z "${image}" ]
        then
        continue
        fi
        echo "docker pull ${image}"
    
        docker pull ${image}
        echo "docker pull ${image} success!!!"
        
        array=(`echo ${image} | tr ':' ' '` )
        src_image=${array[0]}
        src_version=${array[1]}
        if [ ! ${src_image} ]; then
            echo "src_image is null, stop tag and push"
            continue
        fi
        if [ ! ${src_version} ]; then
            echo "src_version is null, set default value latest"
            src_version=latest
        fi
        echo "docker src images info ${src_image} ${src_version}"
        
        image_array=(`echo ${src_image} | tr '/' ' '` )
        image_name=${image_array[-1]}
        if [ ! ${image_name} ]; then
            echo "image_name is null, stop tag and push"
            continue
        fi
        dst_image=${dst_repo}/${dst_user}/${image_name}:${src_version}

        echo "docker destination images info ${dst_image}"
        
        docker tag ${src_image}:${src_version} ${dst_image}

        docker push ${dst_image}
    
    done < images
}

pull_tag_push_image

其中 done < images 中的 images 内容是文本,示例如下所示:

gcr.io/spiffe-io/spire-agent:1.2.0

ghcr.io/spiffe/spiffe-csi-driver:0.1.0

gcr.io/spiffe-io/wait-for-it

k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.4.0

gcr.io/spiffe-io/spire-server:1.2.0

gcr.io/spiffe-io/k8s-workload-registrar:1.2.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远方的飞猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值