QAUP_Management/deploy/docker/load-images.sh

61 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# QAUP 离线部署镜像导入脚本
# 此脚本在客户内网环境中运行
set -e
# 配置变量
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
IMAGES_DIR="$SCRIPT_DIR/../images"
echo "========================================="
echo "QAUP 离线部署镜像导入开始"
echo "========================================="
# 检查镜像目录是否存在
if [ ! -d "$IMAGES_DIR" ]; then
echo "错误: 镜像目录不存在: $IMAGES_DIR"
echo "请确保离线部署包已正确解压"
exit 1
fi
cd "$IMAGES_DIR"
# 验证校验和
if [ -f "checksums.sha256" ]; then
echo "验证镜像文件完整性..."
if sha256sum -c checksums.sha256; then
echo "✓ 所有镜像文件校验通过"
else
echo "✗ 镜像文件校验失败,请重新获取离线部署包"
exit 1
fi
else
echo "警告: 未找到校验和文件,跳过完整性验证"
fi
# 导入镜像
echo ""
echo "开始导入 Docker 镜像..."
for image_file in *.tar.gz; do
if [ -f "$image_file" ]; then
echo "导入镜像: $image_file"
gunzip -c "$image_file" | docker load
echo "$image_file 导入完成"
fi
done
echo ""
echo "========================================="
echo "验证导入的镜像:"
echo "========================================="
# 验证镜像是否成功导入
echo "已导入的镜像列表:"
docker images --format "table {{.Repository}}:{{.Tag}}\t{{.Size}}\t{{.CreatedAt}}" | grep -E "(qaup|openjdk|nginx|postgis|redis)"
echo ""
echo "镜像导入完成!"
echo "现在可以运行 docker-compose up 启动服务"