本地使用shell脚本批量导入导出镜像文件

背景

对于一些不通外网的环境进行部署的时候,需要进行离线部署项目,所以需要导出镜像后本地导出。一下做个脚本把需要导出的java项目批量处理。

导出本地镜像

shell脚本如下:

#/bin/bash
allimages=$(docker images  --format “{
   
   {.Repository}}:{
   
   {.Tag}}”)
for x in $allimages
do
    
     tar_name=$x".tar"
     #echo $tar_name
     #去掉尾部"
     tmp=${x%?}
     #去掉头部#
     tmp=${tmp#?}
     #获取导出的名字,处理左侧字符
     tar=${tmp#*/}
     #获取导出的名字,处理左侧的数据
     tar=${tar#*/}
     #获取导出的名字,处理:
     tar=${tar%:*}
     echo $tar
     #echo $tmp
     docker save -o tars/“$tar”.tar $tmp
done

导入本地镜像

shell脚本如下:

#!/bin/bash
#镜像文件基础目录
base=/data/imas/server_soft/tars
cd $base
for f in $base/*
do
if [[ $f == *.tar ]]
then
 # echo $f
 #导入本地镜像
 docker  load -i $f
fi
done

 

 【备注】导入的镜像tag还保留原有的

猜你喜欢

转载自blog.csdn.net/qq_35008624/article/details/126590418