version: '3.8' services: # Flask Web 服务 web: build: context: . dockerfile: Dockerfile command: python flask_app/start_up.py ports: - "5000:5000" volumes: - .:/flask_project environment: FLASK_ENV: development DASHSCOPE_API_KEY: ${DASHSCOPE_API_KEY} DASHSCOPE_WORKSPACE_ID: ${DASHSCOPE_WORKSPACE_ID} ALIBABA_CLOUD_ACCESS_KEY_ID: ${ALIBABA_CLOUD_ACCESS_KEY_ID} ALIBABA_CLOUD_ACCESS_KEY_SECRET: ${ALIBABA_CLOUD_ACCESS_KEY_SECRET} CELERY_BROKER_URL: redis://redis:6379/0 CELERY_RESULT_BACKEND: redis://redis:6379/0 depends_on: - redis networks: - flask_network # Celery Worker 服务 worker: build: context: . dockerfile: Dockerfile command: celery -A flask_app.celery_app.celery_app worker --loglevel=info volumes: - .:/flask_project environment: DASHSCOPE_API_KEY: ${DASHSCOPE_API_KEY} DASHSCOPE_WORKSPACE_ID: ${DASHSCOPE_WORKSPACE_ID} ALIBABA_CLOUD_ACCESS_KEY_ID: ${ALIBABA_CLOUD_ACCESS_KEY_ID} ALIBABA_CLOUD_ACCESS_KEY_SECRET: ${ALIBABA_CLOUD_ACCESS_KEY_SECRET} CELERY_BROKER_URL: redis://redis:6379/0 CELERY_RESULT_BACKEND: redis://redis:6379/0 depends_on: - redis networks: - flask_network # Redis 服务 redis: image: redis:7.0 ports: - "6379:6379" networks: - flask_network networks: flask_network: driver: bridge