DAS_2024_1/nugaev_damir_lab_2/README.md

47 lines
3.5 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. Первое приложение берёт из каталога /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 построчно описан в коде на прмере Dockcer первого сервиса app_1.
# Видеозапись работы программмы доступна по следующей ссылке
https://cloud.mail.ru/public/wfwF/9nwUPjHcN