DAS_2023_1/volkov_rafael_lab_2/README.md
2023-12-25 21:49:10 +04:00

85 lines
4.6 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): 1 - Ищет в каталоге /var/data файл с наибольшим количеством строк и перекладывает его в /var/result/data.txt
Вариант второго приложения(worker-2): 0 - сохраняет произведение первого и последнего числа из файла /var/result/data.txt в /var/result/result.txt
<p>
<div>руктура проекта</div>
<img src="screens/img1.png" width="650" title="Cтруктура проекта">
</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/1-sLDH9PPFeHlEqzfLtcerbGs8sCALaxe/view?usp=sharing