services: # Сервис генератора файлов generator: build: context: ./generator # Путь к директории с Dockerfile и скриптом генератора volumes: - ./data:/var/data # Монтирование локальной папки data в /var/data в контейнере entrypoint: ["sh", "-c", "if [ -z \"$(ls -A /var/data)\" ]; then python generate_files.py; else echo '/var/data is not empty'; fi"] # Запуск команды, проверяющей, пуста ли папка /var/data. Если пуста, запускается скрипт генерации данных. # Первый сервис, который ищет файл с коротким именем first_app: build: context: ./first_app # Путь к директории с Dockerfile для первого приложения volumes: - ./data:/var/data # Монтирование локальной папки data в /var/data - ./result:/var/result # Монтирование локальной папки result в /var/result depends_on: - generator # Указывает, что первый сервис зависит от завершения работы генератора # Второй сервис, который ищет минимальное число second_app: build: context: ./second_app # Путь к директории с Dockerfile для второго приложения volumes: - ./result:/var/result # Монтирование локальной папки result в /var/result depends_on: - first_app # Указывает, что второй сервис зависит от завершения работы первого сервиса