DAS_2024_1/aleikin_artem_lab_2/readme.md

97 lines
3.0 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 - Разработка простейшего распределённого приложения
## ПИбд-42 || Алейкин Артем
### Описание
В данной лабораторной работе мы изучили способы создания и развертывания простого распределённого приложения.
Для выполнения лабораторной работы в рамках реализации первого проекта был выбран 2-ой вариант, а для второго проекта - 0-ой вариант.
1.2: Формирует файл /var/result/data.txt из первых строк всех файлов каталога /var/data.
2.0: Сохраняет произведение первого и последнего числа из файла /var/data/data.txt в /var/result/result.txt.
### Docker-compose.yml
```
services:
app1:
build:
context: .
dockerfile: ConsoleApp1/Dockerfile
volumes:
- ./data:/var/data
- ./result:/var/result
container_name: app1
app2:
build:
context: .
dockerfile: ConsoleApp2/Dockerfile
volumes:
- ./data:/var/data
- ./result:/var/result
container_name: app2
depends_on:
- app1
```
app1:
build: Контейнер для app1 создается с использованием Dockerfile, расположенного в ConsoleApp1/Dockerfile.
volumes: Монтируются две локальные директории:
./data в /var/data внутри контейнера
./result в /var/result внутри контейнера
container_name: Контейнер будет называться app1.
app2:
build: Контейнер для app2 создается с использованием Dockerfile, расположенного в ConsoleApp2/Dockerfile.
volumes: Монтируются те же локальные директории, что и для app1.
container_name: Контейнер будет называться app2.
depends_on: Контейнер app2 зависит от запуска контейнера app1, что означает, что app2 будет запускаться только после того, как контейнер app1 будет готов.
### Шаги для запуска:
1. Запуск Docker - Desktop
2. Открыть консоль в папке с docker-compose.yml
3. Ввести команду:
```
docket-compose up --build
```
#### В результате в папке result создаётся два текстовых документа:
data - результат работы первого проекта
```
25
10
13
9
83
15
66
25
93
7
42
98
41
85
35
50
98
41
16
43
62
13
37
35
38
40
66
9
48
67
```
result - результат работы второго проекта
```
1675
```
Видео демонстрации работы: https://vk.com/video248424990_456239609?list=ln-jAWvJM5pgqjuzJLU1j