# Лабораторная работа №2 - Разработка простейшего распределенного приложения Цель: изучение техники создания простого распределенного приложения. Задачи: - Согласно вышему варианту (выбирайте любой) разработать два приложения такие, что результат первого является исходными данными для второго. - Изучить файлы сборки образов docker и разработать их для созданных приложений. - Собрать файл docker-compose.yml для запуска приложений. Разобраться с монтированием каталогов из хост-системы. - Правильно закоммитить результат без лишних файлов. - Оформить pull request по правилам и отправить его на проверку. # Описание заданий двух приложений Вариант первого приложения(worker-1): 1 - Ищет в каталоге /var/data файл с наибольшим количеством строк и перекладывает его в /var/result/data.txt Вариант второго приложения(worker-2): 0 - сохраняет произведение первого и последнего числа из файла /var/result/data.txt в /var/result/result.txt

Cтруктура проекта

# Работа программы - Создано две директории: worker-1 и worker-2 для двух программ. - Dockerfile для образов обоих программ.

Worker-1 Dockerfile

Worker-2 Dockerfile

- Содержимое в файлах в папке data

- Описание docker-compose: запускает контейнеры, реализует build для создания образов на основе dockerfile и у второго контейнера описавыется зависимость depends_on от первого контейнера, чтобы сначала запустился первый контейнер, а за ним запустился второй. Также описываются volumes, для монтирование папок data и result в контейнеры.

docker-compose

Сборка и запуска контейнеров

Docker Desktop контейнеры и образы

Консоль первого воркера

Консоль второго воркера

Результат работы контейнера, папка result два файла data.txt и result.txt

Содержимое data.txt

Содержимое result.txt

# Видео Видео с разбором лабораторной работы - https://drive.google.com/file/d/1-sLDH9PPFeHlEqzfLtcerbGs8sCALaxe/view?usp=sharing