121 lines
2.1 KiB
Markdown
121 lines
2.1 KiB
Markdown
# Docker 部署指南
|
||
|
||
## 项目简介
|
||
|
||
仓库物料管理系统 (WMMS) - 前后端分离架构
|
||
|
||
- **后端**: Go + Gin + MySQL (端口 8082)
|
||
- **前端**: Vue 3 + Vite + Nginx (端口 80)
|
||
- **数据库**: MySQL 8.0 (端口 3306)
|
||
|
||
## 快速启动 (Windows)
|
||
|
||
### 前置条件
|
||
|
||
1. 安装 [Docker Desktop](https://www.docker.com/products/docker-desktop/) (Windows 10/11)
|
||
2. 启动 Docker Desktop
|
||
|
||
### 启动服务
|
||
|
||
```bash
|
||
# 进入项目目录
|
||
cd c:\1111\12.project\VSCode\warehouse-mms
|
||
|
||
# 启动所有服务
|
||
docker-compose up -d
|
||
|
||
# 查看服务状态
|
||
docker-compose ps
|
||
```
|
||
|
||
### 访问应用
|
||
|
||
- 前端地址: http://localhost
|
||
- 后端API: http://localhost:8082/api
|
||
- 健康检查: http://localhost:8082/api/health
|
||
|
||
### 默认用户
|
||
|
||
| 用户名 | 密码 | 角色 |
|
||
|--------|------|------|
|
||
| admin | admin123 | 管理员 |
|
||
| user | user123 | 普通用户 |
|
||
|
||
## 常用命令
|
||
|
||
```bash
|
||
# 查看日志
|
||
docker-compose logs -f
|
||
|
||
# 查看后端日志
|
||
docker-compose logs -f backend
|
||
|
||
# 停止服务
|
||
docker-compose down
|
||
|
||
# 重新构建并启动
|
||
docker-compose up -d --build
|
||
|
||
# 删除所有数据(谨慎操作)
|
||
docker-compose down -v
|
||
```
|
||
|
||
## 数据持久化
|
||
|
||
- **MySQL数据**: `mysql_data` Docker volume
|
||
- **上传文件**: `uploads_data` Docker volume
|
||
|
||
## 环境变量
|
||
|
||
| 变量 | 默认值 | 说明 |
|
||
|------|--------|------|
|
||
| DB_DSN | root:wmms1234@tcp(db:3306)/wmms?charset=utf8mb4&parseTime=true | 数据库连接字符串 |
|
||
| GIN_MODE | release | Gin 运行模式 |
|
||
|
||
## 手动构建
|
||
|
||
```bash
|
||
# 构建后端
|
||
docker build -t wmms-backend .
|
||
|
||
# 构建前端
|
||
cd frontend
|
||
docker build -t wmms-frontend .
|
||
|
||
# 启动
|
||
docker-compose up -d
|
||
```
|
||
|
||
## 故障排查
|
||
|
||
### 端口冲突
|
||
|
||
如果 80 或 3306 端口被占用:
|
||
|
||
```bash
|
||
# 查看端口占用
|
||
netstat -ano | findstr ":80"
|
||
netstat -ano | findstr ":3306"
|
||
|
||
# 修改 docker-compose.yml 中的端口映射
|
||
```
|
||
|
||
### 数据库连接失败
|
||
|
||
```bash
|
||
# 检查数据库是否就绪
|
||
docker-compose logs db
|
||
|
||
# 等待数据库启动完成(约10秒)
|
||
```
|
||
|
||
### 查看容器内部
|
||
|
||
```bash
|
||
# 进入后端容器
|
||
docker exec -it wmms-backend sh
|
||
|
||
# 进入数据库容器
|
||
docker exec -it wmms-db mysql -u root -p
|
||
```
|