蓝易云

脚本批量导出 docker 镜像

160次阅读
没有评论

共计 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元/年
正文完
 0
阿蛮君
版权声明:本站原创文章,由 阿蛮君 于2024-12-13发表,共计633字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
Copyright © 2022-2024 阿蛮君博客 湘ICP备2023001393号
本网站由 亿信互联 提供云计算服务 | 蓝易云CDN 提供安全防护和加速服务
Powered by Wordpress  Theme by Puock