5.0 KiB
5.0 KiB
泉友米车友会 - 部署说明
版本: 0.0.1
🚀 快速部署(推荐)
Windows 用户
# 1. 构建镜像
build.bat
# 2. 启动服务
docker-compose up -d
# 3. 初始化管理员
docker exec -it quanyoumi-app sh
node init-admin.js
Linux/Mac 用户
# 1. 构建镜像
chmod +x build.sh
./build.sh
# 2. 启动服务
docker-compose up -d
# 3. 初始化管理员
docker exec -it quanyoumi-app sh
node init-admin.js
📝 部署前准备
1. 修改配置文件
编辑 docker-compose.yml,修改以下配置:
environment:
- DB_PASSWORD=your_mysql_password # 修改数据库密码
- JWT_SECRET=your_jwt_secret_key # 修改JWT密钥(随机字符串)
- AMAP_KEY=your_amap_key # 填入高德地图Key
同时修改 MySQL 服务的密码:
db:
environment:
- MYSQL_ROOT_PASSWORD=your_mysql_password # 与上面保持一致
2. 获取高德地图 Key
- 访问 https://console.amap.com/
- 注册/登录账号
- 创建应用,选择 Web 端(JS API)
- 复制 Key 填入配置
🔧 详细步骤
步骤 1: 构建 Docker 镜像
镜像包含前端(Vue3)和后端(Node.js),版本号 0.0.1。
Windows:
build.bat
Linux/Mac:
chmod +x build.sh
./build.sh
步骤 2: 启动服务
使用 docker-compose 启动完整环境(应用+MySQL+MinIO):
docker-compose up -d
查看启动状态:
docker-compose ps
查看日志:
docker-compose logs -f app
步骤 3: 初始化数据库
数据库会自动初始化(使用 database.sql),等待约 30 秒。
检查数据库是否就绪:
docker-compose logs db | grep "ready for connections"
步骤 4: 创建管理员账号
进入应用容器:
docker exec -it quanyoumi-app sh
运行初始化脚本:
node init-admin.js
按提示输入:
- 用户名(例如:admin)
- 密码(至少6位)
- 确认密码
退出容器:
exit
步骤 5: 访问应用
- 前端页面: http://localhost:3000
- 后台管理: http://localhost:3000/admin/login
- MinIO 控制台: http://localhost:9001 (minioadmin/minioadmin)
📦 镜像信息
- 镜像名称: quanyoumi-app
- 版本: 0.0.1
- 基础镜像: node:18-alpine
- 大小: 约 200MB
- 包含内容:
- 前端构建产物(Vue3 + Vant4)
- 后端服务(Node.js + Express)
- 依赖包(仅生产环境)
🔍 验证部署
1. 检查服务状态
docker-compose ps
应该看到 3 个服务都是 Up 状态:
- quanyoumi-app
- quanyoumi-db
- quanyoumi-minio
2. 检查应用日志
docker-compose logs app
应该看到:
服务器运行在 http://localhost:3000
运行模式: 生产环境(前后端一体)
3. 测试访问
浏览器访问 http://localhost:3000,应该能看到首页。
🛠️ 常见问题
问题 1: 端口被占用
错误信息:port is already allocated
解决方法:
# 修改 docker-compose.yml 中的端口映射
ports:
- "3001:3000" # 改为其他端口
问题 2: 数据库连接失败
错误信息:ECONNREFUSED 或 Access denied
解决方法:
- 检查数据库是否启动:
docker-compose ps db - 检查密码是否一致(app 和 db 的密码要相同)
- 等待数据库完全启动(约 30 秒)
问题 3: 前端页面空白
解决方法:
- 检查浏览器控制台是否有错误
- 确认后端 API 是否正常:访问 http://localhost:3000/api/activities
- 重新构建镜像:
docker-compose build --no-cache
问题 4: 图片上传失败
解决方法:
- 检查 MinIO 是否运行:
docker-compose ps minio - 访问 MinIO 控制台创建 bucket:http://localhost:9001
- 检查环境变量配置是否正确
🔄 更新应用
# 1. 停止服务
docker-compose down
# 2. 拉取最新代码
git pull
# 3. 重新构建
docker-compose build --no-cache
# 4. 启动服务
docker-compose up -d
🗑️ 清理
停止服务(保留数据)
docker-compose down
完全清理(删除数据)
docker-compose down -v
删除镜像
docker rmi quanyoumi-app:0.0.1
📊 生产环境建议
-
使用反向代理
- 推荐使用 Nginx 或 Caddy
- 配置 HTTPS 证书
- 设置域名
-
修改默认密码
- MySQL root 密码
- MinIO 访问密钥
- JWT 密钥(长随机字符串)
-
数据备份
- 定期备份 MySQL 数据
- 备份 MinIO 存储
- 备份上传文件
-
监控告警
- 配置日志收集
- 设置资源监控
- 配置告警通知
-
安全加固
- 限制数据库外部访问
- 使用防火墙规则
- 定期更新镜像
📞 技术支持
如有问题,请查看:
- 应用日志:
docker-compose logs app - 数据库日志:
docker-compose logs db - MinIO 日志:
docker-compose logs minio
或联系技术支持团队。