services:
  first:
    build: ./first # директория, в которой нужно искать Dockerfile для сборки первого сервиса
    environment:
      INPUT_PATH: /var/data/ # директория с входными данными для обработки файлов
      OUTPUT_PATH: /var/result/ # директория с выходными данными обработки
    volumes:
      - ./volumes/input:/var/data # монтируется локальная папка с входными данными в папку внутри контейнера
      - common:/var/result # монтируется общий для двух сервисов том, в который first сложит результаты обработки по варианту
  second:
    build: ./second # директория, в которой нужно искать Dockerfile для сборки второго сервиса
    depends_on: # сервис second зависит от сервиса first и будет запущен после него
      - first
    environment:
      INPUT_PATH: /var/result/
      OUTPUT_PATH: /var/data/
    volumes:
      - ./volumes/output:/var/data
      - common:/var/result # монтируется общий для двух сервисов том, из которого second получит результаты обработки first сервиса и выполнит свою логику

volumes:
  common: