DAS_2023_1/kamyshov_danila_lab_2
2023-12-25 21:52:38 +04:00
..
data kamyshov_danila_lab_2 is ready 2023-12-25 21:52:38 +04:00
screens kamyshov_danila_lab_2 is ready 2023-12-25 21:52:38 +04:00
worker-1 kamyshov_danila_lab_2 is ready 2023-12-25 21:52:38 +04:00
worker-2 kamyshov_danila_lab_2 is ready 2023-12-25 21:52:38 +04:00
docker-compose.yml kamyshov_danila_lab_2 is ready 2023-12-25 21:52:38 +04:00
README.md kamyshov_danila_lab_2 is ready 2023-12-25 21:52:38 +04:00

Лабораторная работа №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

Общая структура проекта

Работа программы

  • Создание двух директорий: 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/1LW_U75GK05_xYk9zd8RKpc-K6zeo4ZYJ/view?usp=sharing