daocke镜像批量导出脚本

脚本作用

1.批量导出Docker Images;
2.部分导出,通过指定Docker Images ID 到脚本“LIST”变量;
3.支持相同ID,不同REPOSITORY名称备份;

例如:

docker images
kry1702/coredns                      1.3.1               eb516548c180        5 months ago        40.3MB
k8s.gcr.io/coredns                   1.3.1               eb516548c180        5 months ago        40.3MB
注意:备份文件名称格式为:kry1702_coredns:1.3.1.tar
主要是解决相同ID,不同REPOSITORY名称,如果提取“/”最右边为备份文件名称格式导致备份文件冲突,以上为例备份文件名称格式为:coredns:1.3.1.tar 

运行实例

#导出全部的镜像;
 sh ExportImg.sh

 #导出部分镜像
 LIST=“ d235b 201c7a  201c7a”
 sh ExportImg.sh
注意:LIST赋值Docker Images ID ,多个镜像ID通过空格隔离;执行脚本是只会导出定义ID的镜像;

镜像还原(任选一种)

docker load --input xxx.tar
docker load < xx.tar
docker load -i xx.tar

脚本内容

LIST=""
TXT=/root/tmp.txt
BAKDIR=/usr/local/bak
LOGDIR=/usr/local/bak/log
LOGFILE=$LOGDIR/bak.`date +%Y%m%d`.log

[ ! -d $BAKDIR ] && mkdir -p $BAKDIR
[ ! -d $LOGDIR ] && mkdir -p $LOGDIR

if [ -n "$LIST" ]
then
        for list in $LIST
        do
                RESLIST=`docker images |grep $list | awk ‘{print $1}‘`
                for reslist in $RESLIST
                do
                RESTAG=`docker images |grep "$reslist" |awk ‘{a=$1":"$2;print a }‘`
                BAKNAME=`docker images |grep "$reslist" |awk ‘{a=$1":"$2;print a }‘|sed ‘s/\//_/g‘`
                /usr/bin/docker save $RESTAG -o $BAKDIR/$BAKNAME.tar  >> $LOGFILE 2>&1
                done
        done
else
        REC=`docker images |awk ‘{print $1,$2,$3}‘|sed 1d >> $TXT`
        RESLIST=`cat $TXT|awk ‘{print $1}‘`
        for reslist in $RESLIST
        do
                RESTAG=`docker images |grep "$reslist" |awk ‘{a=$1":"$2;print a }‘`
                BAKNAME=`docker images |grep "$reslist" |awk ‘{a=$1":"$2;print a }‘|sed ‘s/\//_/g‘`
                /usr/bin/docker save $RESTAG -o $BAKDIR/$BAKNAME.tar  >> $LOGFILE 2>&1
        done
        /usr/bin/rm -f $TXT
fi

if [ -s $LOGFILE ]
then
        echo -e "\033[31mERROR:Images Backup Failed!\033[0m"
        echo -e "\033[31mPlease View The Log Lile : $LOGFILE\033[0m"
else
        /usr/bin/rm -f $LOGFILE
fi

参考网址

批量导出Docker镜像

原文地址:https://www.cnblogs.com/yerikm/p/12344627.html

时间: 2024-10-09 18:50:10

daocke镜像批量导出脚本的相关文章

Docker 镜像批量备份(导出)

脚本作用 1.批量导出Docker Images;2.部分导出,通过指定Docker Images ID 到脚本"LIST"变量 运行实例 #导出全部的镜像: sh ExportImg.sh #导出部分镜像 LIST=" d235b 201c7a 201c7a" sh ExportImg.sh 注意:LIST赋值Docker Images ID ,多个镜像ID通过空格隔离:执行脚本是只会导出定义ID的镜像: 镜像还原(任选一种) docke load --input

分享一个批量导出当前实例下的所有linkedserver脚本

原文:分享一个批量导出当前实例下的所有linkedserver脚本 分享一个批量导出当前实例下的所有linkedserver脚本 很多时候,我们都需要导出实例下面的登录用户,job,linkedserver等等 导出job比较复杂,下午写了一个脚本把所有的linkedserver导出来,但是密码不会显示出来 下面脚本在SQL2008 R2下面测试通过 -- ============================================= -- Author: <桦仔> -- Blog

Azure PowerShell (14) 批量导出Azure ASM ACL和ARM NSG配置信息

<Windows Azure Platform 系列文章目录> 最近有一个客户需求,需要批量导出Azure Classic VM的ACL (Access Control List), 还有ARM VM的NSG (Network Security Group) 设置. 我花了一点时间,写了一个PowerShell脚本,发布在我的GitHub上: https://github.com/leizhang1984/AzureChinaPowerShell/blob/master/ARM/ExportA

kickstart批量装机脚本

#!/bin/bash #安装必备的软件 yum -y install dhcp tftp-server tftp xinetd syslinux vsftpd yum -y install *kickstart* #配置kickstart服务器端的DHCP服务 >/etc/dhcpd.conf ############################################################# cat> /etc/dhcpd.conf<<EOF ddns-u

使用Blender批量导出/转换模型

2.4版本的Blender API和2.5以上版本的API有很大的不同,这里只是提供了思路和2.4版本的导出方案. 先提供一个脚本,这个是由Blender调用的,用于转换Ogre的Mesh文件的脚本 import Blender import bpy import sys import os,glob sys.path.append(r"D:\Program Files\blender-2.49b-windows\.blender\scripts\torchlight"); sys.p

Powershell管理系列(二十六)PowerShell操作之批量导出&导入邮箱

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 项目中有时候做跨林邮箱迁移的时候,条件不成熟,比如安全考虑或者其他考虑,不能做双林信任,这样就提出了一个问题,历史邮件需要使用的话怎么办,一个简单高效的解决办法就是从源森林批量导出邮件为.pst文件,在批量导入到目的域森林,具体操作如下: 1.赋予管理账号邮件导入导出权限,命令如下: cls whoami New-Manageme

java使用POI操作excel文件,实现批量导出,和导入

一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Excel 95及以后的版本,即可操作后缀为 .xls 和 .xlsx两种格式的excel. POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现",利用POI接口可以通过JAVA操作Microsoft office 套件工具的读写功能.官网:htt

fusioncharts批量导出图片之后自动提交表单

最近一个项目  一个页面有多个fusioncharts,需要将他们一次性导出之后再利用图片做一下操作,制作一个可以客户下载的质检简报. 对客户效果来说,我只需要点击一个按钮就能生成简报并且下载,对开发人员来说就需要,先将图片导出(当然不能挨个导出,要同时执行导出,因为fusioncharts导出太慢了),要确认全部导出了才能提交表单,要不然提交表单之后,图片没有生成出来必然产生异常.下面我们来看一下实现 首先我给每一个fusionchartschart指定一个有规律的id,作用有两个: 一个是导

怎么把百度(或高德)地图上查询的电话批量导出

怎么把百度地图上查询的电话批量导出呢? 怎么把高德地图上查询的电话批量导出呢? 这是很多做销售工作的业界精英们 迫切需要解决的问题. 因为他们需要大数据,作为他们微信销售,短信销售,电话销售的资源. 笔者经过一段时间的琢磨,经过一年多时间的反复测试,做出了导出高德地图的商家电话的软件. 界面尽量做到简洁,操作简单: 首先,选择需要采集的省份,城市: 输入需要采集的关键词,比如:汽车维修,宠物店,美容店.电动车 点击按钮[开始处理],系统将开始采集并处理采集到的商家数据,汇总成为一个EXCEL文件