version: "3.3" services: master: build: context: dockerfiles/golang command: "air -c .air.conf" volumes: - ../backend:/backend - /backend/tmp depends_on: - mongo - redis ports: - 8000:8000 environment: CRAWLAB_SPIDER_PATH: "/spiders" CRAWLAB_SETTING_ENABLEDEMOSPIDERS: "Y" CRAWLAB_MONGO_HOST: "mongo" CRAWLAB_REDIS_ADDRESS: "redis" CRAWLAB_SERVER_MASTER: "Y" CRAWLAB_SERVER_REGISTER_TYPE: "customName" CRAWLAB_SERVER_REGISTER_CUSTOMNODENAME: "master_1" CRAWLAB_SERVER_PORT: 8000 worker-1: build: context: dockerfiles/golang command: "air -c .air.conf" depends_on: - mongo - redis ports: - 8001:8000 volumes: - ../backend:/backend - /backend/tmp environment: CRAWLAB_SPIDER_PATH: "/spiders" CRAWLAB_MONGO_HOST: "mongo" CRAWLAB_REDIS_ADDRESS: "redis" CRAWLAB_SERVER_MASTER: "N" CRAWLAB_SERVER_PORT: 8001 CRAWLAB_SERVER_REGISTER_TYPE: "customName" CRAWLAB_SERVER_REGISTER_CUSTOMNODENAME: "worker_1" worker-2: build: context: dockerfiles/golang command: "air -c .air.conf" depends_on: - mongo - redis ports: - 8002:8000 volumes: - ../backend:/backend environment: CRAWLAB_SPIDER_PATH: "/spiders" CRAWLAB_MONGO_HOST: "mongo" CRAWLAB_REDIS_ADDRESS: "redis" CRAWLAB_SERVER_MASTER: "N" CRAWLAB_SERVER_PORT: 8002 CRAWLAB_SERVER_REGISTER_TYPE: "customName" CRAWLAB_SERVER_REGISTER_CUSTOMNODENAME: "worker_2" ui: build: context: ./dockerfiles/node container_name: crawlab_frontend ports: - 8080:8080 volumes: - ../frontend:/frontend - /frontend/node_modules command: - /bin/sh - -c - | yarn install yarn run serve depends_on: - master mongo: image: mongo:latest restart: always # volumes: # - "/opt/crawlab/mongo/data/db:/data/db" # make data persistent 持久化 ports: - "27017:27017" # expose port to host machine 暴露接口到宿主机 redis: image: redis:latest restart: always # command: redis-server --requirepass "password" # set redis password 设置 Redis 密码 # volumes: # - "/opt/crawlab/redis/data:/data" # make data persistent 持久化 ports: - "6379:6379" # expose port to host machine 暴露接口到宿主机