97 lines
3.0 KiB
Markdown
97 lines
3.0 KiB
Markdown
# Лабораторная работа 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 |