#!/bin/bash
docker images --format "{{.Repository}}:{{.Tag}}" | while read -r image; do
  # 生成 tar 文件名，将镜像名中的斜杠 `/` 和标签中的冒号 `:` 替换为下划线 `_`
  filename=$(echo "$image" | sed 's/[\/:]/_/g')
  
  # 检查是否已经存在该文件
  if [ -f "$filename.tar" ]; then
    echo "File $filename.tar already exists, skipping export."
  else
    # 导出镜像并保存为 tar 文件
    echo "Exporting $image to $filename.tar"
    docker save "$image" -o "$filename.tar"
  fi
done

