Files
kangyang/docker-compose.dev.yml
bruno ee3b5da5c4 🐳 完整Docker容器化方案 + 📝 全新README
## 新增功能
- 🐳 完整的Docker容器化支持
- 📦 多环境Docker Compose配置 (生产/开发/简化)
- 🚀 一键部署脚本 (docker-deploy.sh)
- ⚙️ 完善的配置管理 (MySQL/Redis/Nginx)
- 🏥 多阶段构建优化镜像大小
- 📊 健康检查和服务监控

## 优化改进
- 📝 全新设计的README文档
- 📚 详细的部署和使用指南
- 🎨 美化的项目介绍和架构图
- 🔧 完善的故障排查指南
- 📖 多文档支持 (快速启动/详细部署)

## 技术特性
- ✅ 支持生产环境一键部署
- ✅ 开发环境热重载支持
- ✅ 完整的服务编排和依赖管理
- ✅ 安全配置和权限控制
- ✅ 日志管理和数据持久化

系统现已完全容器化,支持Docker一键部署!
2025-08-20 22:48:41 +08:00

131 lines
3.2 KiB
YAML

version: '3.8'
# 开发环境配置 - 支持热重载和调试
services:
# 数据库服务 - 开发环境配置
mysql:
extends:
file: docker-compose.yml
service: mysql
ports:
- "3306:3306"
volumes:
- mysql_dev_data:/var/lib/mysql
- ./backend/src/main/resources/data.sql:/docker-entrypoint-initdb.d/data.sql:ro
# Redis服务 - 开发环境配置
redis:
extends:
file: docker-compose.yml
service: redis
ports:
- "6379:6379"
volumes:
- redis_dev_data:/data
# AI检测服务 - 开发模式(热重载)
ai-detection:
build:
context: ./ai-detection
dockerfile: Dockerfile
container_name: kangyang-ai-dev
restart: "no"
environment:
REDIS_HOST: redis
REDIS_PORT: 6379
FLASK_ENV: development
FLASK_DEBUG: 1
TZ: Asia/Shanghai
ports:
- "5000:5000"
- "5678:5678" # 调试端口
volumes:
- ./ai-detection:/app
- ./videos:/app/videos:ro
command: python -m debugpy --listen 0.0.0.0:5678 --wait-for-client app.py
depends_on:
- redis
networks:
- kangyang-network
# Spring Boot后端 - 开发模式
backend:
build:
context: ./backend
dockerfile: Dockerfile.dev
container_name: kangyang-backend-dev
restart: "no"
environment:
SPRING_PROFILES_ACTIVE: dev
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/kangyang?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
SPRING_DATASOURCE_USERNAME: kangyang
SPRING_DATASOURCE_PASSWORD: kangyang123
SPRING_REDIS_HOST: redis
SPRING_REDIS_PORT: 6379
SPRING_DEVTOOLS_RESTART_ENABLED: true
SPRING_DEVTOOLS_LIVERELOAD_ENABLED: true
JAVA_OPTS: "-Xmx256m -Xms128m -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000"
TZ: Asia/Shanghai
ports:
- "8080:8080"
- "8000:8000" # 调试端口
- "35729:35729" # LiveReload端口
volumes:
- ./backend/src:/app/src
- ./backend/logs:/app/logs
- maven_cache:/root/.m2
depends_on:
- mysql
- redis
networks:
- kangyang-network
# 管理后台 - 开发模式(热重载)
admin-frontend-dev:
build:
context: ./frontend/admin
dockerfile: Dockerfile.dev
container_name: kangyang-admin-dev
restart: "no"
environment:
TZ: Asia/Shanghai
VITE_API_BASE_URL: http://localhost:8080
ports:
- "3000:3000"
volumes:
- ./frontend/admin:/app
- /app/node_modules
command: npm run dev -- --host 0.0.0.0
networks:
- kangyang-network
# 监控大屏 - 开发模式(热重载)
monitor-frontend-dev:
build:
context: ./frontend/monitor
dockerfile: Dockerfile.dev
container_name: kangyang-monitor-dev
restart: "no"
environment:
TZ: Asia/Shanghai
VITE_API_BASE_URL: http://localhost:8080
ports:
- "3001:3000"
volumes:
- ./frontend/monitor:/app
- /app/node_modules
command: npm run dev -- --host 0.0.0.0
networks:
- kangyang-network
volumes:
mysql_dev_data:
driver: local
redis_dev_data:
driver: local
maven_cache:
driver: local
networks:
kangyang-network:
driver: bridge