背景
对于一些不通外网的环境进行部署的时候,需要进行离线部署项目,所以需要导出镜像后本地导出。一下做个脚本把需要导出的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还保留原有的