## Вариант 1 сервиса 0. Ищет в каталоге /var/data самый большой по объёму файл и перекладывает его в /var/result/data.txt. ## Вариант 2 сервиса 0. Сохраняет произведение первого и последнего числа из файла /var/data/data.txt в /var/result/result.txt. Для обоих приложений создадим Dockerfile. Вот пример для **service-1** файл для **service-2** будет идентичен, из-за одной версии питона и одного набора библеотек (используются только стандартная библиотека): Пояснение: - **Stage 1**: Мы используем `python:3.10-slim` как образ для сборки, где копируем файл `main.py` и устанавливаем зависимости, если это необходимо. - **Stage 2**: В этом слое мы копируем скомпилированные файлы из предыдущего этапа и определяем команду для запуска приложения. Аналогичный Dockerfile будет для **service_2**. ### Docker Compose файл Теперь нужно настроить файл `docker-compose.yml`, который позволит запустить оба приложения: Пояснение: - **services**: Мы объявляем два сервиса — `service_1` и `service_2`. - **build**: Указываем контекст сборки для каждого сервиса (директории, где находятся Dockerfile и код). - **volumes**: Монтируем локальные директории `./data` и `./result` в контейнеры, чтобы обмениваться файлами между сервисами. - **depends_on**: Задаем зависимость `service_2` от `service_1`, чтобы второй сервис запускался только после первого. ### Заключение Это пример, как можно реализовать простейшее распределённое приложение с использованием Docker. Первое приложение генерирует данные для второго, который обрабатывает их и записывает результат в файл. Docker и Docker Compose позволяют легко управлять и изолировать каждое приложение.ker Compose для запуска двух программ, обрабатывающих данные в контейнерах. [Видео](https://disk.yandex.ru/d/FFqx6_tdtX8s-g)