# Лабораторная работа №2 - Разработка простейшего распределённого приложения ## Задание * Разработать два приложения такие, что результат первого является исходными данными для второго. * Изучить файлы сборки образов ```docker``` и разработать их для созданных приложений и правильно закоммитить решение * Собрать файл ```docker-compose.yml``` для запуска приложений. ### Варианты задания:  1. Первое приложение берёт из каталога /var/data случайный файл и перекладывает его в /var/result/data.txt  2. Второе приложение сохраняет произведение первого и последнего числа из файла /var/result/data.txt в /var/result/result.txt ## Запуск работы программы 1. Убедиться, что установлены необходимые технологии: - Docker: Платформа для контейнеризации приложений. - Docker Compose: Инструмент для запуска много контейнерных приложений на основе `docker-compose.yaml`. Обычно поставляется вместе с Docker. Чтобы проверить, установлена ли утилита, нужно запустить команду: ```bash docker-compose --version ``` 2. В директории, где находится файл `docker-compose.yaml`, выполнить следующую команду для запуска всех сервисов: ```bash docker-compose up --build ``` Эта команда сначала выполнит сборку, а затем запустит контейнеры. 3. После успешного запуска можно перейти в каталог проекта и увидеть папку data со сгенерированными файлами и папку result, в которой два текстовых файла: - data.txt - файл, полученный после выполнения первой программы. - result.txt -файл, полученный после выполнения второй программы. ## Описание работы: 1. **Генератор файлов** generate_files.py, генерирует случайные файлы с числами и сохраняет их в папке data. 2. **Первое приложение** app.py, случайным образом получает один файл из папки data и копирует его содержимое в result/data.txt. 3. **Второе приложение** app.py, находит произведение первого и последнего чисел из result/data.txt и записывает в result/result.txt. 4. **Файла docker-compose.yml** docker-compose.yml построчно описан в комментариях в коде. Файл Docker построчно описан в коде на примере Docker первого сервиса app_1.