services:

  generate-files:                    # Определяет первый сервис с именем "generate-files"
    build: 
      context: ./generateFiles       # Указывает путь к Docker-контексту для сборки образа (./generateFiles)
    volumes:
      - ./var/data:/data             # Монтирует локальную директорию ./var/data в контейнерную директорию /data

  first:                             # Определяет второй сервис с именем "first"
    build: 
      context: ./first               # Указывает путь к Docker-контексту для сборки образа (./first)
    volumes:
      - ./var/data:/data             # Монтирует локальную директорию ./var/data в контейнерную директорию /data
      - ./var/result:/result         # Монтирует локальную директорию ./var/result в контейнерную директорию /result
    depends_on:                      
      - generate-files               # Определяет, что сервис "first" зависит от "generate-files" и будет запущен после него

  second:                            # Определяет третий сервис с именем "second"
    build: 
      context: ./second              # Указывает путь к Docker-контексту для сборки образа (./second)
    volumes:
       - ./var/result:/result        # Монтирует локальную директорию ./var/result в контейнерную директорию /result
    depends_on:
      - first                        # Определяет, что сервис "second" зависит от "first" и будет запущен после него