#/bin/bash
tag=
img1=hub.chinacloud.com.cn/onex.dev/one-task-scheduler:$tag
img2=hub.chinacloud.com.cn/onex.dev/one-route:$tag
img3=hub.chinacloud.com.cn/onex.dev/one-infrastructure-api:$tag
img4=hub.chinacloud.com.cn/onex.dev/one-logging-api:$tag
img5=hub.chinacloud.com.cn/onex.dev/one-config:pro-$tag
img6=hub.chinacloud.com.cn/onex.dev/keycloak:3.4..Final.$tag
img7=hub.chinacloud.com.cn/onex.dev/one-registry:$tag
img8=hub.chinacloud.com.cn/fast-wh.dev/whitehole-business:$tag
img9=hub.chinacloud.com.cn/fast-wh.dev/whitehole-event:$tag
img10=hub.chinacloud.com.cn/fast-wh.dev/whitehole-flow:$tag
img11=hub.chinacloud.com.cn/fast-pulsar.dev/westoneui-all-in-one:$tag
img12=hub.chinacloud.com.cn/fast-pulsar.dev/pulsar-ui:$tag
img13=hub.chinacloud.com.cn/fast-pulsar.dev/pulsar:$tag
img14=hub.chinacloud.com.cn/fast-pulsar.dev/pulsar-sidecar:$tag images=($img1 $img2 $img3 $img4 $img5 $img6 $img7 $img8 $img9 $img10 $img11 $img12 $img13 $img14) for each in ${images[@]}; do
docker pull $each
array=(${each//\// })
for var in ${array[@]}; do
if [[ $var =~ ":" ]]; then
tar=`echo $var | cut -d ':' -f `
docker save -o ${tar}.tar $each
tar cjvf ${tar}.tbz ${tar}.tar
rm -rf ${tar}.tar
fi
done
done

1、(${each//\// })  将字符串按/ 进行拆分,写成\/主要是是/的转义字符,按什么拆分可以写成 (${each//分割符/}),比如下面按 "-"进行拆分

a="one-two-three-four"
#要将$a分割开,可以这样:"
arr=(${a//-/ })
for s in ${arr[@]}
do
echo "$s"
done

执行后显示:

one
two
three
four

2、如果匹配冒号

if [[ $var =~ ":" ]];

上面这句的意思是如果$var表示的字符串中匹配 “:”。

比如面的例子

$ cat .sh
#!/bin/bash read -p "Please type :" x
if [[ $x =~ "[0-9]" ]];then
echo "yes"
else
echo "no"
fi
$ ./.sh
Please type :
yes
$ ./.sh
Please type :f
no

3、cut用法

cut语法

[root@www ~]# cut -d'分隔字符' -f fields <==用于有特定分隔字符
[root@www ~]# cut -c 字符区间 <==用于排列整齐的信息
选项与参数:
-d :后面接分隔字符。与 -f 一起使用;
-f :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c :以字符 (characters) 的单位取出固定字符区间;
  PATH 变量如下 [root@www ~]# echo $PATH
/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
# | | | | | |
  将 PATH 变量取出,我要找出第五个路径。 #echo $PATH | cut -d ':' -f
/usr/local/bin
  将 PATH 变量取出,我要找出第三和第五个路径。 #echo $PATH | cut -d ':' -f ,
/sbin:/usr/local/bin
  将 PATH 变量取出,我要找出第三到最后一个路径。 echo $PATH | cut -d ':' -f -
/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:/usr/games
  将 PATH 变量取出,我要找出第一到第三个路径。 #echo $PATH | cut -d ':' -f -
/bin:/usr/bin:/sbin:
 
  将 PATH 变量取出,我要找出第一到第三,还有第五个路径。 echo $PATH | cut -d ':' -f -,
/bin:/usr/bin:/sbin:/usr/local/bin
  实用例子:只显示/etc/passwd的用户和shell #cat /etc/passwd | cut -d ':' -f ,
root:/bin/bash
daemon:/bin/sh
bin:/bin/sh

将批量指定的docker镜像打成文件的更多相关文章

  1. Docker镜像构建文件Dockerfile及相关命令介绍

    使用docker build命令或使用Docker Hub的自动构建功能构建Docker镜像时,都需要一个Dockerfile文件.Dockerfile文件是一个由一系列构建指令组成的文本文件,doc ...

  2. docker镜像中文件丢失

    背景介绍 笔者创建了一个镜像,然后在不同的主机上启动,发现有的能启动,有的却不行,报错信息为找不到文件. 犹记得当初有人介绍,只要docker镜像做好了,拿到任何地方都可以用,此处好像不成呢,好诡异的 ...

  3. docker镜像、容器

    第一部分:Docker镜像的基本知识 1.1 什么是Docker镜像 从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角 ...

  4. Docker 镜像之进阶篇

    笔者在<Docker 基础 : 镜像>一文中介绍了 docker 镜像的基本用法,本文我们来介绍 docker 镜像背后的技术原理. 什么是 docker 镜像 docker 镜像是一个只 ...

  5. Docker镜像细节

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾前面: 为什么需要Docker? Docker入 ...

  6. 深入分析 Docker 镜像原理

    摘要:近日, DaoCloud 软件工程师孙宏亮在 CSDN Container 微信群为大家带来了 Docker 镜像原理的深度分享,本次分享的重点是 Docker 镜像,分享的内容主要包含两个部分 ...

  7. 从零开始构建一个centos+jdk7+tomcat7的docker镜像文件

    从零开始构建一个centos+jdk7+tomcat7的镜像文件 centos7系统下docker运行环境的搭建 准备centos基础镜像 docker pull centos 或者直接下载我准备好的 ...

  8. 如何将docker镜像文件上传至Docker Hub

    一.Docker Hub中新建存储库 注册,登录Docker Hub之后,点击右上角Create Repository,创建存储库,如下图所示: 取个名字,我这里取名为lihui_demo.并且可以选 ...

  9. Docker镜像保存为文件及从文件导入镜像的方法

    参考 1.概述 我们制作好镜像后,有时需要将镜像复制到另一台服务器使用. 能达到以上目的有两种方式,一种是上传镜像到仓库中(本地或公共仓库),但是另一台服务器很肯能只是与当前服务器局域网想通而没有公网 ...

随机推荐

  1. [剑指Offer]22-链表中倒数第k个结点

    题目链接 https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&t ...

  2. f5电源模块损坏

    现象: ssh登录f5后有日志显示 现场确认f5 2槽电源指示灯不亮,且电源线正常.重新开关电源模块,拔插电源线后仍不亮.故确认是电源模块损坏. 处理:直接采购新的电源模块更换即可.f5电源支持热插拔 ...

  3. 项目总结06:Java Excel文件导入功能HSSFWorkbook(xls)和 XSSFWorkbook (xlsx)

    项目中碰到Excel文件打入数据功能Mark一下 package com.blue.pem.client.util; import java.io.File; import java.io.FileI ...

  4. 利用xlrd模块读取excel利用json模块生成相应的json文件的脚本

    excel的格式如下 python代码如下,这里最难的就是合并单元格的处理 import xlrd import json excel_obj = xlrd.open_workbook("t ...

  5. Selenium + Python + Firefox

    按网上教程搭建好环境后,执行下面的代码出现了错误: 测试代码如下: from selenium import webdriver driver=webdriver.Firefox() driver.g ...

  6. hbuilder header消失

    hbuilder的header在google浏览器中调试能正常显示,但是发布到app安装到手机后headr不显示. <header class="mui-bar mui-bar-nav ...

  7. mongodb导入csv结构化数据

    csv数据样本 "103238704","","-jmyuncker@aol.com-","-r4Vp5iL2VbM=-" ...

  8. python 虚拟环境操作 virtualenv +virtualenvwrapper

    Window 下创建python的虚拟环境 下载工具 pip install virtualenv 创建虚拟环境目录 # 注意此命令创建的虚拟环境目录是在当前目录下 virtualenv testen ...

  9. js sort

    排序算法 比较的过程必须通过函数抽象出来.通常规定,对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1,这样,排序算法就不用关 ...

  10. essential c++ 第一章 array及vector相关使用

    将对象初始化: 1.用等号(=)赋值运算符初始化,针对对象是内置类型或者对象可以单一值初始化 2.构造函数初始化,针对对象需要多个初始值的情况 单括号括住的字符表示字符常量(‘ ’): 第一个反斜线表 ...