DAS_2024_1/aleikin_artem_lab_2
2024-11-19 04:52:08 +04:00
..
ConsoleApp1 aleikin_artem_lab_2 is ready 2024-11-19 04:52:08 +04:00
ConsoleApp2 aleikin_artem_lab_2 is ready 2024-11-19 04:52:08 +04:00
data aleikin_artem_lab_2 is ready 2024-11-19 04:52:08 +04:00
result aleikin_artem_lab_2 is ready 2024-11-19 04:52:08 +04:00
.dockerignore aleikin_artem_lab_2 is ready 2024-11-19 04:52:08 +04:00
docker-compose.yml aleikin_artem_lab_2 is ready 2024-11-19 04:52:08 +04:00
readme.md aleikin_artem_lab_2 is ready 2024-11-19 04:52:08 +04:00

Лабораторная работа 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