.. | ||
data | ||
result | ||
worker-1 | ||
worker-2 | ||
.dockerignore | ||
.gitignore | ||
docker-compose.yml | ||
Lab_2.sln | ||
Readme.md |
Отчёт по лабораторной работе №2
Выполнил: студент гр. ИСЭбд-41 Михайлов Юрий.
Задание программы 1: Ищет в каталоге /var/data самый большой по объёму файл и перекладывает его в /var/result/data.txt. Задание программы 2: Ищет набольшее число из файла /var/data/data.txt и сохраняет его вторую степень в /var/result/result.txt.
Создание приложений
Создаем 2 приложения с помощью команды:
dotnet new console -o worker-1
dotnet new console -o worker-2
Пр№ 1: Ищет в каталоге /var/data самый большой по объёму файл и перекладывает его в /var/result/data.txt.
Пр№ 2: Ищет набольшее число из файла /var/data/data.txt и сохраняет его вторую степень в /var/result/result.txt.
Cоздали файл .gitignore с помощью команды dotnet new gitignore.
Настройка окуржения
Для обеспечения взаимодействия между двумя приложениями мы применили следующий подход:
Для каждого приложения были разработаны файлы Dockerfile (программа 1, программа 2) с подробным описанием процесса сборки.
Также был создан файл docker-compose.yml, в котором указан манифест для запуска распределённого приложения.
Также был создан файл .dockerignore и дополнен .gitignore, чтобы исключить для сборки и коммита всё лишнее.
Сборка и запуск
В каталог ./data помещены 2 файла: another_data.txt и data.txt.
Для запуска приложения необходимо ввести команду docker compose up --build
.
Результат запуска после сборки:
[+] Running 3/3
✔ Network lab_2_default Created 0.1s
✔ Container lab_2-worker-1-1 Created 0.1s
✔ Container lab_2-worker-2-1 Created 0.1s
Attaching to lab_2-worker-1-1, lab_2-worker-2-1
lab_2-worker-1-1 | Файл перемещен.
lab_2-worker-1-1 exited with code 0
lab_2-worker-2-1 | Мax число из файла: 14
lab_2-worker-2-1 | Вторая стпень Max числа: 196
lab_2-worker-2-1 exited with code 0
В результате 1 работы в каталоге ./result
создался файл data.txt
.
В результате 2 работы в каталоге ./result
создался файл result.txt
с содержимым 196
, что соответствует входным данным.