version: '3.8' services: backend: image: python:3.11 # 直接使用Python 3.11官方镜像 container_name: backend ports: - "7792:5000" volumes: - ./back:/app # 挂载你的后端目录 - backend-venv:/opt/venv # 持久化虚拟环境 working_dir: /app environment: - FLASK_ENV=development command: > sh -c "if [ ! -f /opt/venv/bin/python ]; then python -m venv /opt/venv && . /opt/venv/bin/activate && pip install -r requirements.txt; fi && . /opt/venv/bin/activate && python app.py" # 确保你的入口文件是app.py frontend: image: node:21 # 使用Node.js 21官方镜像 container_name: frontend ports: - "7793:5173" # Vite默认端口 volumes: - ./platform:/app working_dir: /app environment: - NODE_ENV=development command: sh -c "npm install && npm run dev" # 假设使用npm volumes: backend-venv: # 持久化Python虚拟环境