2023-11-16 13:59:09 +04:00
|
|
|
|
# Лабораторная работа №2 - Разработка простейшего распределённого приложения
|
2023-11-16 13:57:19 +04:00
|
|
|
|
|
|
|
|
|
1) Согласно вашему варианту (выбирайте любой) разработать два приложения такие, что результат первого является исходными данными для второго.
|
|
|
|
|
2) Изучить файлы сборки образов docker и разработать их для созданных приложений.
|
|
|
|
|
3) Собрать файл docker-compose.yml для запуска приложений. Разобраться с монтированием каталогов из хост-системы.
|
|
|
|
|
4) Правильно закоммитить результат без лишних файлов.
|
|
|
|
|
5) Оформить pull request по правилам и отправить его на проверку.
|
|
|
|
|
6)
|
|
|
|
|
# Варианты:
|
|
|
|
|
- Для Worker1: Ищет в каталоге /var/data файл с наибольшим количеством строк и перекладывает его в /var/result/data.txt.
|
|
|
|
|
- Для Worker2: Ищет набольшее число из файла /var/data/data.txt и сохраняет количество таких чисел из последовательности в /var/result/result.txt.
|
|
|
|
|
|
|
|
|
|
# Как запустить
|
|
|
|
|
Командой "docker-compose up -d"
|
|
|
|
|
|
|
|
|
|
# Работа программы
|
|
|
|
|
Для Worker1 создали следующий java файл:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img.png](screens%2Fimg.png)
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
И следующий DockerFile:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img_1.png](screens%2Fimg_1.png)
|
|
|
|
|
|
|
|
|
|
Для Worker2 создали следующий файл:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img_2.png](screens%2Fimg_2.png)
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
И следующий DockerFile:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img_3.png](screens%2Fimg_3.png)
|
|
|
|
|
|
|
|
|
|
Файлы с данными:
|
|
|
|
|
|
|
|
|
|
File1:
|
|
|
|
|
|
|
|
|
|
![img_4.png](screens%2Fimg_4.png)
|
|
|
|
|
|
|
|
|
|
File2:
|
|
|
|
|
|
|
|
|
|
![img_5.png](screens%2Fimg_5.png)
|
|
|
|
|
|
|
|
|
|
File3:
|
|
|
|
|
|
|
|
|
|
![img_6.png](screens%2Fimg_6.png)
|
|
|
|
|
|
|
|
|
|
Теперь создаем docker-compose файл:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img_7.png](screens%2Fimg_7.png)
|
|
|
|
|
|
|
|
|
|
Запускаем в cmd с помощью docker-compose up -d:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img_8.png](screens%2Fimg_8.png)
|
|
|
|
|
|
|
|
|
|
Образы:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img_9.png](screens%2Fimg_9.png)
|
|
|
|
|
|
|
|
|
|
Контейнер:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img_10.png](screens%2Fimg_10.png)
|
|
|
|
|
|
|
|
|
|
Файлы появились в папке:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img_11.png](screens%2Fimg_11.png)
|
|
|
|
|
|
|
|
|
|
Файл data.txt:
|
2023-11-16 14:00:19 +04:00
|
|
|
|
|
2023-11-16 13:57:19 +04:00
|
|
|
|
![img_12.png](screens%2Fimg_12.png)
|
|
|
|
|
|
|
|
|
|
Файл result.txt:
|
|
|
|
|
|
|
|
|
|
![img_13.png](screens%2Fimg_13.png)
|
|
|
|
|
|
2023-11-16 14:02:46 +04:00
|
|
|
|
Наибольшее число 986 и число его вхождений равно 3, всё верно.
|
|
|
|
|
|
|
|
|
|
Видео -> https://drive.google.com/file/d/1Jt1wFrdweIrUhDn-MAA4RKYrktykOekw/view?usp=sharing
|