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
|