# Лабораторная работа №2 - Разработка простейшего распределённого приложения ## Задание + По выбранному варианту разработать два приложения такие, что результат первого является исходными данными для второго. + Изучить файлы сборки образов docker и разработать их для созданных приложений. + Собрать файл docker-compose.yml для запуска приложений. + Правильно закоммитить результат. ### Выбранные варианты задания 1. 1-ая программа. Берёт из каталога /var/data случайный файл и перекладывает его в /var/result/data.txt. 2. 2-ая программа. Сохраняет произведение первого и последнего числа из файла /var/result/data.txt в /var/result/result.txt. ### Дополнительная информация + Язык разработки приложений - pyton. + Содержимое исходных файлов - целые числа. + Каждая программа должна лежать в отдельной подпапке. ## Запуск работы программы Для задания потребуется Docker - платформа для контейнеризации приложений. В директории создаем файл docker-compose.yaml, чтобы потом можно было собрать и запустить программы всех сервисов: ```docker-compose up --build``` Эта команда сначала выполнит сборку, а затем запустит контейнеры. После успешного запуска появится папка data со сгенерированными файлами и папка result, в которой два текстовых файла: + data.txt - файл, полученный после выполнения первой программы. + result.txt -файл, полученный после выполнения второй программы. ## Описание работы В лабораторке использовали: 1. Генератор файлов в папке generator. Файл generate_files.py, генерирует случайные файлы с числами и сохраняет их в папке data. 2. Папка с первым приложением. Первое приложение worker.py, случайным образом получает один файл из папки data и копирует его содержимое в result/data.txt. 3. Папка со вторым приложением. Второе приложение worker.py находит произведение первого и последнего чисел из result/data.txt и записывает в result/result.txt. 4. Файл docker-compose.yml. 5. Файл Dockerfile. Прописываем базовый образ для Docker. # Видеозапись работы программмы https://vkvideo.ru/video186826232_456239553