#!/bin/bash # 在 Docker 容器中验证 EasyAI 部署脚本 # 用法: 在 easyai 项目根目录执行 ./docker/verify/run-verify.sh set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" cd "$PROJECT_ROOT" echo "================================" echo " EasyAI 部署脚本 Docker 验证" echo "================================" echo "项目目录: $PROJECT_ROOT" echo "" # 构建验证镜像 echo "📦 构建验证镜像..." docker build -f docker/verify/Dockerfile -t easyai-deploy-verify:latest . echo "" echo "🚀 运行部署脚本(非交互模式,挂载 Docker Socket)..." echo " 使用 DEPLOY_ACCESS=ip DEPLOY_IP=127.0.0.1" echo "" # 挂载 Docker Socket,使容器内 docker 命令使用宿主机 Docker # 挂载项目目录,使用本地文件(避免容器内复制过时) docker run --rm -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$PROJECT_ROOT:/workspace/easyai" \ -w /workspace/easyai \ -e DEPLOY_ACCESS=ip \ -e DEPLOY_IP=127.0.0.1 \ -e DEPLOY_FORCE_RECONFIG=1 \ easyai-deploy-verify:latest \ bash -c './start.sh' EXIT_CODE=$? echo "" if [ $EXIT_CODE -eq 0 ]; then echo "✅ 部署脚本验证通过" else echo "❌ 部署脚本验证失败 (exit code: $EXIT_CODE)" fi exit $EXIT_CODE