DAS_2024_1/yakovleva_yulia_lab_2
2024-09-20 18:36:39 +04:00
..
App1 yakovleva_yulia_lab_2 is ready 2024-09-20 18:36:39 +04:00
App2 yakovleva_yulia_lab_2 is ready 2024-09-20 18:36:39 +04:00
FileGeneration yakovleva_yulia_lab_2 is ready 2024-09-20 18:36:39 +04:00
.dockerignore yakovleva_yulia_lab_2 is ready 2024-09-20 18:36:39 +04:00
.gitignore yakovleva_yulia_lab_2 is ready 2024-09-20 18:36:39 +04:00
Distributed computing and applications.sln yakovleva_yulia_lab_2 is ready 2024-09-20 18:36:39 +04:00
docker-compose.yml yakovleva_yulia_lab_2 is ready 2024-09-20 18:36:39 +04:00
README.md yakovleva_yulia_lab_2 is ready 2024-09-20 18:36:39 +04:00

Лабораторная работа 2

Описание

В данной лабораторной работе были изучены файлы сборки образов и создание их для приложений. Сборки образов необходимы для контейниризации созданных приложений. В файле сборки мы указываем папку из которой копируем в контейнер и собираем проект.

Описание работы

Были выбраны варианты для первого приложения - 3 вариант и для второго 3 вариант.

В первом приложении мы ищем все файлы из папки output и записываем количество строк каждого файла в файл data.txt. Затем второе приложение ищет в data.txt наибольшее значения и записывает количество наибольших значений в файл result.txt.

Запуск

  1. Для начала необходимо запустить Docker
  2. Открыть консоль, перейти в папку с docker-compose.yml
  3. Ввести команду:
docker compose up --build

--build необходим для принудительной сборки контейнеров, даже если они уже запущены.

Результат

В результате в логах видим, что приложения успешно отработали:

app2-1           | Количество наибольших чисел: 1
app1-1 exited with code 0
app2-1 exited with code 0

И также видим в папке Files две созданные папки: data и result. В data находятся сгенерированные файлы, а в result - файл с результатом.

Описание docker-compose.yml

В docker-compose.yml запускаются 3 сервиса: первый генерирует файлы с рандомным набором строк, второй сервис записывает количество строк каждого файла в data.txt, а третий сервис определяет количество наибольших чисел из файла data.txt и записывает результат в файл result.txt. Также используются зависимости depends_on, второй сервис зависит от запуска первого, и третий севрис зависит от запуска второго. С помощью volumes создаем буферную область, которая позволяет использовать двум севрисам одну папку. build позволяет использовать только что собранный образ в момент запуска.

Видеоотчёт

Видеоотчёт