DAS_2024_1/fadeeva_nastya_lab_2/README.md
2024-12-13 00:31:02 +04:00

52 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа №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