#!/bin/bash
# 检查到未定义的变量则停止执行并报错
set -u

# 检查参数数量
if [ "$#" -ne 3 ]; then
  echo "Error: Incorrect number of arguments"
  echo "Usage: $0 FILE_PATH IMAGE_NAME TAG_NAME"
  exit 1
fi

FILE_PATH=$1
IMAGE_NAME=$2
TAG_NAME=$3

# 检查镜像是否存在
if [[ "$(docker images -q $IMAGE_NAME:$TAG_NAME 2> /dev/null)" != "" ]]; then
  echo "Image already exists, start removing..."
  # 镜像存在,删除镜像
  docker rmi "$IMAGE_NAME":"$TAG_NAME"
  echo "Image removed"
fi

# 导入镜像
echo "Start image import..."
docker import "$FILE_PATH" "$IMAGE_NAME":"$TAG_NAME"
if [[ "$(docker images -q $IMAGE_NAME:$TAG_NAME 2> /dev/null)" != "" ]]; then
  echo "Image imported"
fi