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