Files
wwjcloud-nest-v1/wwjcloud/DOCKER.md
wanwu 8da4047110 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语法转换
2025-09-27 03:28:46 +08:00

3.4 KiB
Raw Blame History

🐳 WWJCloud Docker 开发环境

快速开始

1. 启动开发环境

# 使用启动脚本(推荐)
./docker-start.sh

# 或手动启动
docker-compose -f docker-compose.dev.yml up --build -d

2. 访问服务

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

开发建议

  1. 代码同步: 代码修改会自动同步到容器内
  2. 依赖安装: 新依赖需要重启容器生效
  3. 数据库迁移: 使用TypeORM迁移管理数据库结构
  4. 环境变量: 修改 .env 文件后重启服务
  5. 日志监控: 使用 docker-compose logs -f 实时查看日志