Files
user_service/api_delete/release.sh
2025-10-09 11:15:35 +08:00

39 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
set -e # 当任何命令失败时立即退出脚本
# 定义镜像名称、标签和压缩包名称
IMAGE_NAME="user-delete-api"
IMAGE_TAG="1.0.0"
FULL_IMAGE="${IMAGE_NAME}:${IMAGE_TAG}"
TAR_FILE="${IMAGE_NAME}-${IMAGE_TAG}.tar"
echo "开始删除现有镜像 ${FULL_IMAGE}..."
if sudo docker rmi -f "${FULL_IMAGE}" >/dev/null 2>&1; then
echo "镜像 ${FULL_IMAGE} 删除成功"
else
echo "镜像 ${FULL_IMAGE} 不存在,跳过删除步骤"
fi
echo "开始构建新镜像 ${FULL_IMAGE}..."
if sudo docker build -t "${FULL_IMAGE}" .; then
echo "镜像 ${FULL_IMAGE} 构建成功!"
else
echo "错误:镜像构建失败" >&2
exit 1
fi
echo "开始处理镜像压缩包..."
# 如果存在同名压缩包则删除
if [ -f "${TAR_FILE}" ]; then
echo "发现现有压缩包 ${TAR_FILE},正在删除..."
rm -f "${TAR_FILE}"
fi
# 打包镜像为tar文件
echo "开始将镜像 ${FULL_IMAGE} 打包为 ${TAR_FILE}..."
if sudo docker save -o "${TAR_FILE}" "${FULL_IMAGE}"; then
echo "镜像打包成功!生成文件:${TAR_FILE}"
else
echo "错误:镜像打包失败" >&2
exit 1
fi