DAS_2024_1/haliullov_kamil_lab_2/README.md
2024-12-29 11:43:21 +04:00

45 lines
2.8 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 - Разработка простейшего распределённого приложения
## Задание
1. Разработать два приложения:
- **OneApp**: Берёт из каталога /var/data случайный файл и перекладывает его в /var/result/data.txt.
- **TwoApp**: Сохраняет произведение первого и последнего числа из файла /var/result/data.txt в /var/result/result.txt.
2. Разработать файлы сборки Docker для каждого приложения.
3. Собрать файл docker-compose.yml для запуска обоих приложений.
4. Настроить монтирование директорий для обмена данными между контейнерами.
5. Правильно закоммитить решение с использованием .gitignore для исключения лишних файлов.
## Запуск:
В директории, где находится файл docker-compose.yml, выполним команду для сборки и запуска всех контейнеров:
`docker-compose up --build`
Эта команда:
1. Собирает все Docker-образы для сервисов.
2. Запускает контейнеры.
3. Автоматически подготавливает данные и выполняет приложения последовательно.
## Результаты:
После успешного завершения работы контейнеров можно проверить результаты в папке result:
- **data.txt** — файл, полученный после выполнения первого приложения (содержит копию случайно выбранного файла из папки data).
- **result.txt** — файл, полученный после выполнения второго приложения (содержит произведение первого и последнего чисел из файла data.txt).
### Генерация данных:
Для создания случайных данных был написан скрипт generate_data.py:
- Создает несколько файлов с целыми числами в каталоге /var/data.
- Каждый файл содержит случайные числа, которые будут использоваться первым приложением.
### Dockerfile:
Каждое приложение имеет собственный Dockerfile, где указаны шаги для сборки Python-образов и запуска программ.
## Видео
https://disk.yandex.ru/i/r1UsIUdnP2BdeQ