version: '3.9' services: # 后端服务 backend: build: . container_name: backend working_dir: /app volumes: - ./src:/app/src # 映射源代码 - ./saves:/app/saves - /hdd/zwj/models:/hdd/zwj/models ports: - "5000:5000" # 曝露后端端口 depends_on: - neo4j # 确保 Neo4j 启动 networks: - app-network environment: - NEO4J_URI=bolt://neo4j:7687 # 使用 neo4j 容器名称而非 localhost - NEO4J_USERNAME=neo4j - NEO4J_PASSWORD=0123456789 # 前端服务 frontend: build: context: ./web # 设置构建上下文为 web 文件夹 dockerfile: Dockerfile # 使用 web 文件夹内的 Dockerfile container_name: frontend ports: - "80:80" depends_on: - backend networks: - app-network # Neo4j 图数据库服务 neo4j: image: neo4j:latest container_name: neo4j volumes: - ./local_neo4j/conf:/var/lib/neo4j/conf - ./local_neo4j/import:/var/lib/neo4j/import - ./local_neo4j/plugins:/plugins - ./local_neo4j/data:/data - ./local_neo4j/logs:/var/lib/neo4j/logs restart: always ports: - "7474:7474" - "7687:7687" environment: - NEO4J_AUTH=neo4j/0123456789 networks: - app-network # 定义网络 networks: app-network: driver: bridge