3.4 KiB
3.4 KiB
易分宝回收系统 Docker 部署指南
项目简介
易分宝现场回收系统是一个再生资源回收小程序,包含:
- 后端 API 服务 (Node.js + Express + SQLite)
- 后台管理端 (静态 HTML)
- 小程序端 (uni-app)
快速开始
1. 确保已安装 Docker
# 检查 Docker 版本
docker --version
docker-compose --version
2. 构建并启动服务
# 进入项目目录
cd D:\Trae\huishou
# 构建并启动(前台运行)
docker-compose up --build
# 或者后台运行
docker-compose up -d --build
# 查看运行状态
docker-compose ps
# 查看日志
docker-compose logs -f backend
3. 访问服务
- 后端 API: http://localhost:4000
- 后台管理端: http://localhost:4001
- 用户名:
admin - 密码:
123456
- 用户名:
4. 停止服务
# 停止并移除容器
docker-compose down
# 停止并移除容器和数据卷
docker-compose down -v
数据持久化
以下目录已配置为持久化存储:
./server/data- SQLite 数据库文件./server/icons- 上传的图标文件
环境变量
| 变量名 | 默认值 | 说明 |
|---|---|---|
| NODE_ENV | production | 运行环境 |
| PORT | 3000 | 服务端口 |
API 接口
价格管理
GET /api/prices- 获取所有价格POST /api/prices- 添加价格PUT /api/prices/:category- 更新价格DELETE /api/prices/:category- 删除价格
区域管理
GET /api/regions/cities- 获取城市列表GET /api/regions/districts/:city- 获取区域列表GET /api/regions/stations/:city/:district- 获取回收站点列表GET /api/regions/users/:station- 获取用户列表
订单管理
GET /api/orders- 获取订单列表POST /api/orders- 创建订单PUT /api/orders/:orderId- 更新订单状态
统计
GET /api/statistics- 获取统计数据
图标
GET /api/icons/:filename- 获取上传的图标
项目文件结构
huishou/
├── Dockerfile # Docker 镜像构建文件
├── docker-compose.yml # Docker Compose 配置
├── .dockerignore # Docker 构建忽略文件
├── DEPLOY.md # 部署文档
├── server/ # 后端服务
│ ├── server.js # 主服务器文件
│ ├── package.json # 依赖配置
│ ├── data/ # 数据库文件(持久化)
│ └── icons/ # 上传图标(持久化)
├── admin/ # 后台管理端
│ └── index.html # 管理页面
└── dist/
└── build/
└── mp-weixin/ # 小程序编译产物
注意事项
- 小程序端:需要在微信开发者工具中导入
dist/build/mp-weixin目录运行 - 端口冲突:确保 3000 端口未被占用
- 数据库初始化:首次启动会自动初始化数据库并插入默认数据
故障排查
容器启动失败
# 查看详细日志
docker-compose logs backend
# 进入容器调试
docker exec -it yifenbao-backend sh
数据库问题
# 重置数据库(删除数据卷)
docker-compose down -v
docker-compose up -d
生产环境部署建议
- 使用 Nginx 反向代理
- 配置 HTTPS
- 使用外部数据库(如 MySQL)替代 SQLite
- 配置定时备份
- 使用 Docker Swarm 或 Kubernetes 进行编排