| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- #!/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 "========================================================================"
|