添加Docker部署方案

- 多阶段Dockerfile:第一阶段构建前端(npm),第二阶段Python运行时(uv+opencv)
- docker-compose.yml:单服务,data/logs目录挂载持久化
- deploy.sh一键部署脚本:自动构建+启动+健康检查
- .dockerignore排除不必要文件减小构建上下文
- main.py添加前端静态文件服务(生产环境单端口部署)
- README更新部署文档和代理配置说明
This commit is contained in:
yml2213
2026-06-23 00:54:48 +08:00
parent da2fedd484
commit 93d358f214
6 changed files with 265 additions and 1 deletions
Executable
+72
View File
@@ -0,0 +1,72 @@
#!/usr/bin/env bash
set -e
# ===== 斗鱼批量登录 Docker 部署脚本 =====
ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$ROOT_DIR"
echo ""
echo "=============================="
echo " 斗鱼批量登录 - Docker 部署"
echo "=============================="
# 检查 Docker
if ! command -v docker &> /dev/null; then
echo "❌ 未安装 Docker,请先安装:"
echo " curl -fsSL https://get.docker.com | sh"
exit 1
fi
# 检查 docker compose
if docker compose version &> /dev/null; then
COMPOSE="docker compose"
elif command -v docker-compose &> /dev/null; then
COMPOSE="docker-compose"
else
echo "❌ 未安装 docker compose,请先安装 Docker Compose"
exit 1
fi
echo " 使用: $COMPOSE"
echo ""
# 创建数据和日志目录
mkdir -p data logs
# 构建并启动
echo "正在构建镜像(首次构建约3-5分钟)..."
$COMPOSE build
echo ""
echo "正在启动服务..."
$COMPOSE up -d
echo ""
echo "等待服务启动..."
sleep 3
# 健康检查
for i in $(seq 1 10); do
if curl -s http://localhost:8000/api/health | grep -q "ok" 2>/dev/null; then
echo ""
echo "=============================="
echo " ✅ 部署成功!"
echo "=============================="
echo " 访问地址: http://localhost:8000"
echo " 默认账号: admin / admin123"
echo ""
echo " 查看日志: $COMPOSE logs -f"
echo " 停止服务: $COMPOSE down"
echo " 重启服务: $COMPOSE restart"
echo "=============================="
exit 0
fi
echo " 等待中... ($i/10)"
sleep 2
done
echo ""
echo "❌ 服务启动超时,查看日志:"
$COMPOSE logs --tail 30
exit 1