DAS_2023_1/shadaev_anton_lab_2/README.md

93 lines
3.0 KiB
Markdown
Raw Normal View History

2023-12-13 23:36:59 +04:00
# Лабораторная работа №2 - Разработка простейшего распределённого приложения.
## Цель:
Изучение техники создания простого распределённого приложения.
## Задачи:
1. Согласно вашему варианту (выбирайте любой) разработать два приложения такие, что результат первого является исходными данными для второго.
2. Изучить файлы сборки образов docker и разработать их для созданных приложений.
3. Собрать файл docker-compose.yml для запуска приложений. Разобраться с монтированием каталогов из хост-системы.
4. Правильно закоммитить результат без лишних файлов.
5. Оформить pull request по правилам и отправить его на проверку.
## Запуск:
Чтобы запустить контейнеры в docker, необходимо выполнить следующую команду:
`docker-compose -f \ docker-compose.yml up -d`,
где:
+ `-f` - путь до docker-compose.yml файла
+ `-d` - фоновый режим запуска
## Решение:
Выбраны следующие варианты задания:
+ Worker1: Ищет в каталоге /var/data файл с наибольшим количеством строк и перекладывает его в /var/result/data.txt.
+ Worker2: Ищет набольшее число из файла /var/data/data.txt и сохраняет количество таких чисел из последовательности в /var/result/result.txt.
+ `Worker1`:
![img.png](screenshots/img.png)
![img_1.png](screenshots/img_1.png)
![img_2.png](screenshots/img_2.png)
![img_6.png](screenshots/img_6.png)
+ `Worker2`:
![img_3.png](screenshots/img_3.png)
![img_4.png](screenshots/img_4.png)
![img_5.png](screenshots/img_5.png)
![img_7.png](screenshots/img_7.png)
**Файлы**:
+ **Файл `var/data/file1.txt`**:
![img_8.png](screenshots/img_8.png)
+ **Файл `var/data/file2.txt`**:
![img_9.png](screenshots/img_9.png)
+ **Файл `var/data/file3.txt`**:
![img_10.png](screenshots/img_10.png)
+ **Файл `docker-compose.yaml`**:
![img_11.png](screenshots/img_11.png)
**Результат запуска**:
![img_12.png](screenshots/img_12.png)
...
![img_13.png](screenshots/img_13.png)
**Образы**:
![img_14.png](screenshots/img_14.png)
**Контейнеры**:
![img_15.png](screenshots/img_15.png)
![img_18.png](screenshots/img_18.png)
![img_19.png](screenshots/img_19.png)
**Файл `var/result/data.txt`**:
![img_16.png](screenshots/img_16.png)
**Файл `var/result/result.txt`**:
![img_17.png](screenshots/img_17.png)
## Ссылка на видео:
https://youtu.be/pLVCu7AxThc