./start.sh
启动成功后访问以下地址:
| 服务 | 地址 | 说明 |
|---|---|---|
| 📱 前端应用 | http://localhost:3000 | 用户界面 |
| 🧪 后端API | http://localhost:8080 | RESTful API |
| 💚 健康检查 | http://localhost:8080/health | 服务状态 |
| 📊 指标监控 | http://localhost:8080/metrics | Prometheus 指标 |
系统已创建以下测试账号:
| 角色 | 用户名 | 密码 | 密钥 |
|---|---|---|---|
| 考生 | testuser | password123 | kotres-gyxfa3-vywmyQ |
| 考官 | examiner | admin123 | mazmyk-gubbit-pohFo1 |
⚠️ 生产环境请修改默认密码和密钥
docker compose down
如果提示端口被占用:
# 查看占用进程
lsof -i :3000 # 前端端口
lsof -i :8080 # 后端端口
lsof -i :3306 # MySQL端口
lsof -i :6379 # Redis端口
# 强制结束进程
sudo kill -9 <PID>
清理后重新构建:
docker compose down --rmi all ./start.sh
检查数据库配置和SQL文件:
# 查看MySQL日志
docker compose logs mysql
# 重置数据库
docker compose down -v
./start.sh
如果前端显示"后端服务未启动":
curl http://localhost:8080/healthdocker compose logs backenddocker network ls如果遇到登录问题:
docker compose logs backend├── backend/ # Go 后端应用 │ ├── cmd/ # 应用入口 │ │ └── api/ # API 服务主程序 │ ├── internal/ # 内部代码 │ │ ├── api/ # HTTP 处理器 │ │ ├── domain/ # 领域模型 │ │ ├── middleware/# 中间件 │ │ ├── pkg/ # 内部包 │ │ ├── repo/ # 数据仓库 │ │ └── service/ # 业务逻辑 │ ├── configs/ # 配置文件 │ ├── Dockerfile # 后端镜像构建 │ └── go.mod # Go 模块定义 ├── frontend/ # Vue 前端应用 ├── mysql/ # MySQL 数据库脚本 │ ├── init.sql # 初始化脚本 │ ├── schema.sql # 数据库结构 │ └── seed.sql # 种子数据 ├── redis/ # Redis 配置 ├── docker-compose.yml # 容器编排 ├── start.sh # 启动脚本 └── README.md # 项目说明