You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.3 KiB
85 lines
2.3 KiB
#!/bin/bash
|
|
# ============================================
|
|
# A股智投分析平台 - Docker 快速启动脚本
|
|
# ============================================
|
|
|
|
set -e
|
|
|
|
echo "=============================================="
|
|
echo "A股智投分析平台 - Docker 一键启动"
|
|
echo "=============================================="
|
|
|
|
# 检查 Docker 是否安装
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "❌ Docker 未安装,请先安装 Docker"
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v docker-compose &> /dev/null; then
|
|
echo "❌ Docker Compose 未安装,请先安装 Docker Compose"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✓ Docker 环境检查通过"
|
|
|
|
# 创建必要目录
|
|
mkdir -p logs
|
|
|
|
echo ""
|
|
echo "=============================================="
|
|
echo "启动服务..."
|
|
echo "=============================================="
|
|
|
|
# 使用 .env.docker 覆盖默认配置
|
|
cp .env.docker .env.production
|
|
|
|
# 构建并启动服务
|
|
docker-compose -f docker-compose.yml up --build -d
|
|
|
|
echo ""
|
|
echo "=============================================="
|
|
echo "等待服务启动..."
|
|
echo "=============================================="
|
|
|
|
# 等待 MySQL 启动
|
|
for i in {1..30}; do
|
|
if docker-compose exec -T mysql mysqladmin ping -h localhost -u root -p1qazse42W3 --silent 2>/dev/null; then
|
|
echo "✓ MySQL 已启动"
|
|
break
|
|
fi
|
|
echo -n "."
|
|
sleep 2
|
|
done
|
|
|
|
# 等待应用启动
|
|
for i in {1..30}; do
|
|
if curl -s http://localhost:3000/api/v1/health | grep -q "healthy"; then
|
|
echo ""
|
|
echo "✓ 后端服务已启动"
|
|
break
|
|
fi
|
|
echo -n "."
|
|
sleep 2
|
|
done
|
|
|
|
echo ""
|
|
echo "=============================================="
|
|
echo "✅ 所有服务启动成功!"
|
|
echo "=============================================="
|
|
echo ""
|
|
echo "服务访问地址:"
|
|
echo " • API 接口: http://localhost:3000/api/v1"
|
|
echo " • 健康检查: http://localhost:3000/api/v1/health"
|
|
echo " • MySQL: localhost:3306"
|
|
echo " • Redis: localhost:6379"
|
|
echo ""
|
|
echo "默认账号:"
|
|
echo " • MySQL: root / 1qazse42W3"
|
|
echo ""
|
|
echo "常用命令:"
|
|
echo " • 查看日志: docker-compose logs -f app"
|
|
echo " • 停止服务: docker-compose down"
|
|
echo " • 完全重置: docker-compose down -v"
|
|
echo ""
|
|
echo "=============================================="
|