.. | ||
data | ||
screens | ||
worker-1 | ||
worker-2 | ||
docker-compose.yml | ||
README.md |
Лабораторная работа №2 - Разработка простейшего распределенного приложения
Цель: изучение техники создания простого распределенного приложения.
Задачи:
- Согласно вышему варианту (выбирайте любой) разработать два приложения такие, что результат первого является исходными данными для второго.
- Изучить файлы сборки образов docker и разработать их для созданных приложений.
- Собрать файл docker-compose.yml для запуска приложений. Разобраться с монтированием каталогов из хост-системы.
- Правильно закоммитить результат без лишних файлов.
- Оформить pull request по правилам и отправить его на проверку.
Разработка двух приложений
Вариант первого приложения(worker-1): 5 - Ищет в каталоге /var/data файл с самым коротким названием и перекладывает его в /var/result/data.txt Вариант второго приложения(worker-2): 1 - Ищет набольшее число из файла /var/data/data.txt и сохраняет его вторую степень в /var/result/result.txt
Общая структура проекта
![Общая структура проекта](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img1.png)
Работа программы
- Создание двух директорий: worker-1 и worker-2 для реализаций двух программ.
- Описание Dockerfile для создания образов для обоих программ.
Worker-1 Dockerfile
![Worker-1 Dockerfile](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img2.png)
Worker-2 Dockerfile
![Worker-2 Dockerfile](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img3.png)
docker-compose
![docker-compose](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img7.png)
Сборка и запуска контейнеров
![Сборка и запуска контейнеров](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img8.png)
Проверка в Docker Desktop контейнеров и образов
![Проверка в Docker Desktop контейнеров и образов](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img9.png)
Смотрим консоль первого воркера
![Смотрим, консоль первого воркера](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img11.png)
Смотрим консоль второго воркера
![Смотрим, консоль второго воркера](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img12.png)
Смотрим результат работы контейнера, что в папке result создалось два файла data.txt и result.txt
![Смотрим результат работы контейнера, что в папке result создалось два файла data.txt и result.txt](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img13.png)
Смотрим data.txt
![Смотрим data.txt](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img14.png)
Смотрим result.txt
![Смотрим result.txt](/Alexey/DAS_2023_1/media/commit/97f2f1e018c3581533d9355f0fe28335772aaa32/kamyshov_danila_lab_2/screens/img15.png)
Видео
Видео с разбором лабораторной работы - https://drive.google.com/file/d/1LW_U75GK05_xYk9zd8RKpc-K6zeo4ZYJ/view?usp=sharing