version: '3.8' services: # MySQL数据库 mysql: image: mysql:8.0 container_name: jiebanke-mysql environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: jiebanke ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql - ./scripts/init-database.sql:/docker-entrypoint-initdb.d/init-database.sql networks: - jiebanke-network # Redis缓存 redis: image: redis:6.0 container_name: jiebanke-redis ports: - "6379:6379" networks: - jiebanke-network # RabbitMQ消息队列 rabbitmq: image: rabbitmq:3.8-management container_name: jiebanke-rabbitmq ports: - "5672:5672" - "15672:15672" networks: - jiebanke-network # Eureka服务注册中心 eureka-server: build: context: ./eureka-server container_name: jiebanke-eureka ports: - "8761:8761" networks: - jiebanke-network depends_on: - mysql - redis - rabbitmq # API网关 gateway-service: build: context: ./gateway-service container_name: jiebanke-gateway ports: - "8080:8080" networks: - jiebanke-network depends_on: - eureka-server # 认证服务 auth-service: build: context: ./auth-service container_name: jiebanke-auth ports: - "8081:8081" networks: - jiebanke-network depends_on: - eureka-server - mysql # 用户服务 user-service: build: context: ./user-service container_name: jiebanke-user ports: - "8082:8082" networks: - jiebanke-network depends_on: - eureka-server - mysql # 旅行服务 travel-service: build: context: ./travel-service container_name: jiebanke-travel ports: - "8083:8083" networks: - jiebanke-network depends_on: - eureka-server - mysql # 动物服务 animal-service: build: context: ./animal-service container_name: jiebanke-animal ports: - "8084:8084" networks: - jiebanke-network depends_on: - eureka-server - mysql # 订单服务 order-service: build: context: ./order-service container_name: jiebanke-order ports: - "8085:8085" networks: - jiebanke-network depends_on: - eureka-server - mysql # 推广服务 promotion-service: build: context: ./promotion-service container_name: jiebanke-promotion ports: - "8086:8086" networks: - jiebanke-network depends_on: - eureka-server - mysql volumes: mysql_data: networks: jiebanke-network: driver: bridge