version: '3.8' services: # ---------- MySQL 数据库 ---------- mysql: image: mysql:8.0 container_name: idc_assest-mysql volumes: - idc_assest-mysql-data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-xinmi_password} MYSQL_DATABASE: ${MYSQL_DATABASE:-idc_management} ports: - "${MYSQL_PORT:-12006}:3306" networks: - idc_assest-network # ---------- 后端服务 ---------- backend: build: context: ./backend dockerfile: Dockerfile container_name: idc_assest-backend volumes: - ./backend/uploads:/app/uploads - ./backend/logs:/app/logs - ./backend/backups:/app/backups environment: - NODE_ENV=production - PORT=8000 - DB_TYPE=sqlite # 如果切换到 MySQL,请修改 DB_TYPE=mysql 并配置 MYSQL_HOST=mysql ports: - "${BACKEND_PORT:-12001}:8000" depends_on: - mysql networks: - idc_assest-network # ---------- 前端服务 ---------- frontend: build: context: ./frontend dockerfile: Dockerfile container_name: idc_assest-frontend ports: - "${FRONTEND_PORT:-12000}:80" depends_on: - backend networks: - idc_assest-network volumes: idc_assest-mysql-data: networks: idc_assest-network: driver: bridge