#!/bin/bash

# 遍历镜像列表文件，当前目录保存，替换/和:为_
while IFS= read -r image; do
  # 1. 跳过空行
  if [ -z "$image" ]; then
    continue
  fi
  
  # 2. 核心：将镜像名中的 / 和 : 替换为 _，结尾加 .tar
  filename=$(echo "$image" | tr '/:' '_').tar
  
  # 3. 执行 docker save，保存到当前目录
  echo "正在保存镜像 $image -> ./$filename ..."
  docker save -o "$filename" "$image"
  
  # 4. 检查保存结果
  if [ $? -eq 0 ]; then
    echo "✅ 镜像 $filename 保存成功"
    echo ""
  else
    echo "❌ 镜像 $image 保存失败（可能本地未拉取该镜像）"
    echo ""
  fi
done < dify-images-list.txt

echo -e "\nEnd : 所有镜像处理完成，文件已保存到当前目录"
