镜像和chart

1、镜像

1.1,下载并保存镜像

#!/usr/bin/bash
#author: 李仕宝
SAVE_IMAGE_DIR="images_dir"
OLD_REPOSITORY="abc.zhangsan.com"
NEW_REPOSITORY="def.zhangsan.com"
if [ $# -ne 1 ];then
        echo "Usage: sh $0 images.csv"
        exit -1
fi

if [ ! -d $SAVE_IMAGE_DIR  ];then
        mkdir -p $SAVE_IMAGE_DIR
fi

function save_image () {
        cat $1 | egrep -v "^#|^$" | awk -F"," '{print $1}' | while read line
        do
                new_image_name=`echo $line | sed "s#${OLD_REPOSITORY}#${NEW_REPOSITORY}#g"`
                save_image_name=`echo $line | awk  -F/ '{ print $NF}' | tr ':' '-' `
                echo "docker pull $line"
                docker pull $line
                if [ $? -eq 0 ];then
                echo "docker tag  $line  $new_image_name"
                docker tag $line $new_image_name
                        if test $? -eq 0 ;then
                                echo "docker save $new_image_name > ${save_image_name}.tar "
                                   docker save $new_image_name > ${SAVE_IMAGE_DIR}/${save_image_name}.tar.gz
                        fi
                else
                        echo "$line is pull error"
                        exit -1
                fi
        done
}

save_image $1

1.2、pull tag push


#!/bin/bash
OLD_REPOSITORY=""
NEW_REPOSITORY=""
OLD_IMAGE="$1"
NEW_IMAGE=`echo $1 | sed "s/${OLD_REPOSITORY}/${NEW_REPOSITORY}/"`
if [ $# -ne 1 ];then
  echo "Usage: sh $0 imageName"
  exit -1
fi
docker pull $NEW_IMAGE
docker tag $NEW_IMAGE $OLD_IMAGE
docker push $OLD_IMAGE

1.3、images-pull-tag-push.sh 通过文件

#!/bin/bash
if [ $# -ne 1 ];then
  echo "Usage: sh $0 images.csv"
  exit -1
fi
OLD_REPOSITORY1=""
OLD_REPOSITORY2=""
OLD_REPOSITORY3=""
NEW_REPOSITORY=""
sed -i "s/${OLD_REPOSITORY2}/${OLD_REPOSITORY1}/" $1
sed -i "s/${OLD_REPOSITORY3}/${OLD_REPOSITORY1}/" $1
for OLD_IMAGE in `egrep -v "^#|^$" $1 | awk -F, '{print $1}'`
do
  docker pull $OLD_IMAGE
  NEW_IMAGE=`echo $OLD_IMAGE | sed "s/${OLD_REPOSITORY1}/${NEW_REPOSITORY}/"`
  docker tag $OLD_IMAGE $NEW_IMAGE
  docker push $NEW_IMAGE
done

2、chart

2.1、下载

#!/bin/bash
#charts.csv文件格式:chartname,chartversion
LOCAL_REPO=""
if [ $# -ne 1 ];then
  echo "Usage:sh $0 charts.csv"
  exit -1
fi
while read i
do
  CHART_NAME=`echo "$i" | grep -v "#" | awk -F, '{print $1}'`
  CHART_VERSION=`echo "$i" | grep -v "#" | awk -F, '{print $2}'`
  helm pull ${LOCAL_REPO}/${CHART_NAME} --version ${CHART_VERSION}
done<$1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值