39 lines
1.1 KiB
Bash
Executable File
39 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e # 当任何命令失败时立即退出脚本
|
|
|
|
# 定义镜像名称和标签
|
|
IMAGE_NAME="user-update-password-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 |