version: '3.8' services: # ============================================ # Flink JobManager # ============================================ flink-jobmanager: image: flink:1.18.1-scala_2.12-java17 container_name: flink-jobmanager ports: - "8081:8081" command: jobmanager environment: - | FLINK_PROPERTIES= jobmanager.rpc.address: flink-jobmanager - PARSE_SERVICE_URL=http://host.docker.internal:8000 - EMBEDDING_API_URL=http://host.docker.internal:8084 - EXAMPLES_DIR=/data/examples volumes: - ./schedule-flink/target:/opt/flink/usrlib # 挂载测试文件目录,使 Flink 能访问本地文件 - /Users/chaizi/Work/Projects/yusys/ai-study/code/four-level-schedule/duomotai/examples:/data/examples extra_hosts: - "host.docker.internal:host-gateway" networks: - flink-network restart: unless-stopped # ============================================ # Flink TaskManager # ============================================ flink-taskmanager: image: flink:1.18.1-scala_2.12-java17 container_name: flink-taskmanager depends_on: - flink-jobmanager command: taskmanager deploy: replicas: 1 environment: - | FLINK_PROPERTIES= jobmanager.rpc.address: flink-jobmanager taskmanager.numberOfTaskSlots: 2 - PARSE_SERVICE_URL=http://host.docker.internal:8000 - EMBEDDING_API_URL=http://host.docker.internal:8084 - EXAMPLES_DIR=/data/examples volumes: - ./schedule-flink/target:/opt/flink/usrlib # 挂载测试文件目录 - /Users/chaizi/Work/Projects/yusys/ai-study/code/four-level-schedule/duomotai/examples:/data/examples extra_hosts: - "host.docker.internal:host-gateway" networks: - flink-network restart: unless-stopped networks: flink-network: driver: bridge