52 lines
3.3 KiB
Markdown
52 lines
3.3 KiB
Markdown
|
# Лабораторная работа №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
|