services:

  program_0:
    build: 
      context: ./program_0  # Контекст сборки для контейнера program_0, указывающий на папку с Dockerfile
    volumes:
      - ./var/data:/data  # Монтирование локальной директории ./var/data в контейнер по пути /data

  program_1:
    build: 
      context: ./program_1  # Контекст сборки для контейнера program_1, указывающий на папку с Dockerfile
    volumes:
      - ./var/data:/data  # Монтирование локальной директории ./var/data в контейнер по пути /data
      - ./var/result:/result  # Монтирование локальной директории ./var/result в контейнер по пути /result
    depends_on:
      - program_0  # Зависимость от program_0; program_1 не будет запущен до завершения program_0

  program_2:
    build: 
      context: ./program_2  # Контекст сборки для контейнера program_2, указывающий на папку с Dockerfile
    volumes:
       - ./var/result:/result  # Монтирование локальной директории ./var/result в контейнер по пути /result
    depends_on:
      - program_1  # Зависимость от program_1; program_2 не будет запущен до завершения program_1