- 删除common层业务代码(将通过real-business-logic-generator.js重新生成) - 清理重复的core层生成工具 - 保留完整的企业级core层基础设施(Security/Cache/Tracing/Event/Queue/Health) - 版本号升级到0.3.3 - 项目架构现已完整,接下来专注优化PHP到TypeScript语法转换
3.4 KiB
3.4 KiB
🐳 WWJCloud Docker 开发环境
快速开始
1. 启动开发环境
# 使用启动脚本(推荐)
./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可视化管理
常用命令
服务管理
# 启动服务
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
日志查看
# 查看所有服务日志
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
数据库操作
# 进入数据库容器
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
应用开发
# 进入应用容器
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 中的端口映射:
ports:
- "3001:3000" # 将应用端口改为3001
- "3307:3306" # 将数据库端口改为3307
数据持久化
数据存储在Docker卷中,删除容器不会丢失数据:
# 查看卷
docker volume ls
# 删除数据卷(谨慎操作)
docker-compose -f docker-compose.dev.yml down -v
网络问题
如果服务间无法通信,检查网络配置:
# 查看网络
docker network ls
# 检查容器网络
docker-compose -f docker-compose.dev.yml exec app ping db
生产环境
生产环境使用 docker-compose.yml:
# 构建生产镜像
docker-compose build
# 启动生产环境
docker-compose up -d
开发建议
- 代码同步: 代码修改会自动同步到容器内
- 依赖安装: 新依赖需要重启容器生效
- 数据库迁移: 使用TypeORM迁移管理数据库结构
- 环境变量: 修改
.env文件后重启服务 - 日志监控: 使用
docker-compose logs -f实时查看日志