#!/bin/bash
TAG_PREFIX=
save(){
if [ ! -d "./images" ]; then
mkdir images
fi
cd images
docker images --format "{{.ID}} {{.Repository}}:{{.Tag}} {{.Size}}" |grep $TAG_PREFIX > images_pull.txt
while read line
do
image_id=`echo $line | awk '{print $1}'`
image_repository=`echo $line | awk '{print $2}'`
image_size=`echo $line | awk '{print $3}'`
docker save -o $image_id.tar $image_repository && \
echo "Image $image_repository saved, size $image_size"
done < images_pull.txt
}
load(){
cd images
while read line
do
image_id=`echo $line | awk '{print $1}'`
image_repository=`echo $line | awk '{print $2}'`
docker load -i $image_id.tar && \
echo "Image $image_repository loaded"
done < images_pull.txt
}
if [ -z "$1" ]; then
echo "Usage: image_operation.sh [save|load]"
fi
eval $1
docker 镜像迁移脚本
最新推荐文章于 2024-09-16 15:03:15 发布
这篇文章介绍了如何使用bash编写一个脚本,通过`save`和`load`函数分别实现Docker镜像的下载并保存为tar文件,以及从tar文件恢复镜像。脚本支持`save`命令获取镜像ID、仓库名、大小并保存,`load`命令加载已保存的镜像。
摘要由CSDN通过智能技术生成