DAS_2023_1/kamyshov_danila_lab_2/README.md
2023-12-25 21:52:38 +04:00

85 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Лабораторная работа №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
<p>
<div>Общая структура проекта</div>
<img src="screens/img1.png" width="650" title="Общая структура проекта">
</p>
# Работа программы
- Создание двух директорий: worker-1 и worker-2 для реализаций двух программ.
- Описание Dockerfile для создания образов для обоих программ.
<p>
<div>Worker-1 Dockerfile</div>
<img src="screens/img2.png" width="650" title="Worker-1 Dockerfile">
</p>
<p>
<div>Worker-2 Dockerfile</div>
<img src="screens/img3.png" width="650" title="Worker-2 Dockerfile">
</p>
- Содержимое в файлах в папке data
<p>
<img src="screens/img4.png" width="50" title="1">
</p>
<p>
<img src="screens/img5.png" width="50" title="2">
</p>
<p>
<img src="screens/img6.png" width="50" title="3">
</p>
- Описание docker-compose: запускает контейнеры, реализует build для создания образов на основе dockerfile и у второго контейнера описавыется зависимость depends_on от первого контейнера, чтобы сначала запустился первый контейнер, а за ним запустился второй. Также описываются volumes, для монтирование папок data и result в контейнеры.
<p>
<div>docker-compose</div>
<img src="screens/img7.png" width="650" title="docker-compose">
</p>
<p>
<div>Сборка и запуска контейнеров</div>
<img src="screens/img8.png" width="650" title="Сборка и запуска контейнеров">
</p>
<p>
<div>Проверка в Docker Desktop контейнеров и образов</div>
<img src="screens/img9.png" width="650" title="Проверка в Docker Desktop контейнеров и образов">
</p>
<p>
<img src="screens/img10.png" width="650" title="Проверка в Docker Desktop контейнеров и образов">
</p>
<p>
<div>Смотрим консоль первого воркера</div>
<img src="screens/img11.png" width="650" title="Смотрим, консоль первого воркера">
</p>
<p>
<div>Смотрим консоль второго воркера</div>
<img src="screens/img12.png" width="650" title="Смотрим, консоль второго воркера">
</p>
<p>
<div>Смотрим результат работы контейнера, что в папке result создалось два файла data.txt и result.txt</div>
<img src="screens/img13.png" width="150" title="Смотрим результат работы контейнера, что в папке result создалось два файла data.txt и result.txt">
</p>
<p>
<div>Смотрим data.txt</div>
<img src="screens/img14.png" width="50" title="Смотрим data.txt">
</p>
<p>
<div>Смотрим result.txt</div>
<img src="screens/img15.png" width="150" title="Смотрим result.txt">
</p>
# Видео
Видео с разбором лабораторной работы - https://drive.google.com/file/d/1LW_U75GK05_xYk9zd8RKpc-K6zeo4ZYJ/view?usp=sharing