61 lines
1.6 KiB
Bash
Executable File
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 启动服务" |