#!/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 启动服务"