共计 633 个字符,预计需要花费 2 分钟才能阅读完成。
由于经常需要导出多个 docker 镜像,所以想着用脚本来解决一次导出很多镜像的问题。
按自己需要将镜像导出为 tar
包,命名方式为 镜像名-标签名.tar
。如果不传参数则默认使用 docker images | grep service
查找并导出镜像,如果传递参数则使用 docker images | grep 传参
命令。
#!/bin/bash
# 确保 /tmp/images 目录存在
mkdir -p /tmp/images
# 检查是否有参数传入,如果有则使用参数,否则默认使用 'service'
search_term="${1:-service}"
# 获取镜像列表并过滤出包含 '$search_term' 的行
images=$(docker images | grep "$search_term")
# 遍历每一行镜像信息
echo "$images" | while read -r line; do
# 提取镜像名和标签
image_name=$(echo "$line" | awk '{print $1}')
tag=$(echo "$line" | awk '{print $2}')
# 构建保存文件的完整路径和文件名
save_path="/tmp/images/${image_name}-${tag}.tar"
# 保存镜像到指定路径
echo "Saving image $image_name:$tag to $save_path"
docker save -o "$save_path" "$image_name":"$tag"
done
echo "所有镜像导出完成!"
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完