feat: v0.3.3 - 清理代码结构,删除common层,保留core层企业级基础设施
- 删除common层业务代码(将通过real-business-logic-generator.js重新生成) - 清理重复的core层生成工具 - 保留完整的企业级core层基础设施(Security/Cache/Tracing/Event/Queue/Health) - 版本号升级到0.3.3 - 项目架构现已完整,接下来专注优化PHP到TypeScript语法转换
This commit is contained in:
152
wwjcloud/DOCKER.md
Normal file
152
wwjcloud/DOCKER.md
Normal file
@@ -0,0 +1,152 @@
|
||||
# 🐳 WWJCloud Docker 开发环境
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 启动开发环境
|
||||
```bash
|
||||
# 使用启动脚本(推荐)
|
||||
./docker-start.sh
|
||||
|
||||
# 或手动启动
|
||||
docker-compose -f docker-compose.dev.yml up --build -d
|
||||
```
|
||||
|
||||
### 2. 访问服务
|
||||
- **NestJS API**: http://localhost:3000
|
||||
- **phpMyAdmin**: http://localhost:8080
|
||||
- **Redis Commander**: http://localhost:8081
|
||||
|
||||
### 3. 数据库信息
|
||||
- **Host**: localhost
|
||||
- **Port**: 3306
|
||||
- **Database**: wwjcloud
|
||||
- **Username**: root
|
||||
- **Password**: 123456
|
||||
|
||||
## 服务说明
|
||||
|
||||
### 应用服务 (app)
|
||||
- **镜像**: 基于 Node.js 18 Alpine
|
||||
- **端口**: 3000
|
||||
- **环境**: 开发模式,支持热重载
|
||||
- **数据卷**: 代码实时同步
|
||||
|
||||
### 数据库服务 (db)
|
||||
- **镜像**: MySQL 8.0
|
||||
- **端口**: 3306
|
||||
- **数据持久化**: mysql_data 卷
|
||||
- **配置**: 支持中文,优化性能
|
||||
|
||||
### 缓存服务 (redis)
|
||||
- **镜像**: Redis 7 Alpine
|
||||
- **端口**: 6379
|
||||
- **数据持久化**: redis_data 卷
|
||||
- **配置**: 优化内存使用
|
||||
|
||||
### 管理工具
|
||||
- **phpMyAdmin**: 数据库可视化管理
|
||||
- **Redis Commander**: Redis可视化管理
|
||||
|
||||
## 常用命令
|
||||
|
||||
### 服务管理
|
||||
```bash
|
||||
# 启动服务
|
||||
docker-compose -f docker-compose.dev.yml up -d
|
||||
|
||||
# 停止服务
|
||||
docker-compose -f docker-compose.dev.yml down
|
||||
|
||||
# 重启服务
|
||||
docker-compose -f docker-compose.dev.yml restart
|
||||
|
||||
# 查看服务状态
|
||||
docker-compose -f docker-compose.dev.yml ps
|
||||
```
|
||||
|
||||
### 日志查看
|
||||
```bash
|
||||
# 查看所有服务日志
|
||||
docker-compose -f docker-compose.dev.yml logs -f
|
||||
|
||||
# 查看特定服务日志
|
||||
docker-compose -f docker-compose.dev.yml logs -f app
|
||||
docker-compose -f docker-compose.dev.yml logs -f db
|
||||
docker-compose -f docker-compose.dev.yml logs -f redis
|
||||
```
|
||||
|
||||
### 数据库操作
|
||||
```bash
|
||||
# 进入数据库容器
|
||||
docker-compose -f docker-compose.dev.yml exec db mysql -u root -p123456 wwjcloud
|
||||
|
||||
# 导入SQL文件
|
||||
docker-compose -f docker-compose.dev.yml exec -T db mysql -u root -p123456 wwjcloud < your-file.sql
|
||||
|
||||
# 备份数据库
|
||||
docker-compose -f docker-compose.dev.yml exec db mysqldump -u root -p123456 wwjcloud > backup.sql
|
||||
```
|
||||
|
||||
### 应用开发
|
||||
```bash
|
||||
# 进入应用容器
|
||||
docker-compose -f docker-compose.dev.yml exec app sh
|
||||
|
||||
# 安装新依赖
|
||||
docker-compose -f docker-compose.dev.yml exec app npm install package-name
|
||||
|
||||
# 运行测试
|
||||
docker-compose -f docker-compose.dev.yml exec app npm test
|
||||
|
||||
# 构建生产版本
|
||||
docker-compose -f docker-compose.dev.yml exec app npm run build
|
||||
```
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 端口冲突
|
||||
如果端口被占用,可以修改 `docker-compose.dev.yml` 中的端口映射:
|
||||
```yaml
|
||||
ports:
|
||||
- "3001:3000" # 将应用端口改为3001
|
||||
- "3307:3306" # 将数据库端口改为3307
|
||||
```
|
||||
|
||||
### 数据持久化
|
||||
数据存储在Docker卷中,删除容器不会丢失数据:
|
||||
```bash
|
||||
# 查看卷
|
||||
docker volume ls
|
||||
|
||||
# 删除数据卷(谨慎操作)
|
||||
docker-compose -f docker-compose.dev.yml down -v
|
||||
```
|
||||
|
||||
### 网络问题
|
||||
如果服务间无法通信,检查网络配置:
|
||||
```bash
|
||||
# 查看网络
|
||||
docker network ls
|
||||
|
||||
# 检查容器网络
|
||||
docker-compose -f docker-compose.dev.yml exec app ping db
|
||||
```
|
||||
|
||||
## 生产环境
|
||||
|
||||
生产环境使用 `docker-compose.yml`:
|
||||
```bash
|
||||
# 构建生产镜像
|
||||
docker-compose build
|
||||
|
||||
# 启动生产环境
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 开发建议
|
||||
|
||||
1. **代码同步**: 代码修改会自动同步到容器内
|
||||
2. **依赖安装**: 新依赖需要重启容器生效
|
||||
3. **数据库迁移**: 使用TypeORM迁移管理数据库结构
|
||||
4. **环境变量**: 修改 `.env` 文件后重启服务
|
||||
5. **日志监控**: 使用 `docker-compose logs -f` 实时查看日志
|
||||
Reference in New Issue
Block a user