#!/bin/bash # Docker 本地测试脚本 set -e echo "========================================================================" echo "🐳 Docker 本地测试环境" echo "========================================================================" # 颜色定义 GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color # 检查.env文件 if [ ! -f .env ]; then echo -e "${RED}❌ 错误:.env 文件不存在${NC}" echo "请先创建 .env 文件(可以从 .env.example 复制)" exit 1 fi echo "" echo "📋 步骤1:清理旧容器和镜像(如果存在)" echo "----------------------------------------" docker-compose down 2>/dev/null || true docker rmi auto_put_ad_mini-auto_put_ad_mini 2>/dev/null || true echo "" echo "📦 步骤2:构建Docker镜像" echo "----------------------------------------" echo "⚠️ 注意:首次构建可能需要5-10分钟..." docker-compose build echo "" echo "🚀 步骤3:启动容器" echo "----------------------------------------" docker-compose up -d echo "" echo "⏳ 等待服务启动(10秒)..." sleep 10 echo "" echo "📊 步骤4:检查容器状态" echo "----------------------------------------" docker-compose ps echo "" echo "🏥 步骤5:健康检查" echo "----------------------------------------" echo "正在检查 http://localhost:8080/health ..." if command -v jq &> /dev/null; then curl -s http://localhost:8080/health | jq . else curl -s http://localhost:8080/health fi if [ $? -eq 0 ]; then echo -e "${GREEN}✅ 服务健康检查通过!${NC}" else echo -e "${RED}❌ 服务健康检查失败${NC}" echo "查看日志:" docker-compose logs --tail=50 exit 1 fi echo "" echo "🎯 步骤6:手动触发测试" echo "----------------------------------------" echo "正在触发决策流程..." curl -X POST http://localhost:8080/trigger echo "" echo "" echo "========================================================================" echo -e "${GREEN}✅ Docker环境启动成功!${NC}" echo "========================================================================" echo "" echo "📍 可用的命令:" echo "" echo " # 查看实时日志" echo " docker-compose logs -f" echo "" echo " # 查看健康状态" echo " curl http://localhost:8080/health | jq ." echo "" echo " # 手动触发任务" echo " curl -X POST http://localhost:8080/trigger" echo "" echo " # 进入容器调试" echo " docker exec -it auto_put_ad_mini bash" echo "" echo " # 查看输出文件" echo " ls -lh outputs/reports/" echo "" echo " # 停止服务" echo " docker-compose down" echo "" echo " # 重新构建" echo " docker-compose build --no-cache" echo "" echo "========================================================================" echo "📖 测试完成后,记得停止容器:" echo " docker-compose down" echo "========================================================================"