diff --git a/sergeev_evgenii_lab_2/README.md b/sergeev_evgenii_lab_2/README.md
new file mode 100644
index 0000000..0f654c8
--- /dev/null
+++ b/sergeev_evgenii_lab_2/README.md
@@ -0,0 +1,42 @@
+## Задание
+Развернуть два взаимосвязанных сервиса по варианту:
+
+Вариант № 4 для первой программы:
+* Сервис формирует файл /var/result/data.txt так, что каждая строка файла - количество символов в именах файлов из каталога /var/data.
+Вариант № 2 для второй программы:
+* Сервис ищет наименьшее число из файла /var/data/data.txt и сохраняет его третью степень в /var/result/result.txt.
+## Выполнение
+Были написаны два сервиса на языке python с использованием технологии flask.
+Они выводят на страницу кнопки, при нажатии на которые происходит соответствующие действия по заданию
+
+Для сервисов прописаны файлы Dockerfile, описывающие создание контейнеров:
+* Для обоих контейнеров выбирается Python 11
+* На оба контейнера пробрасываются порты, на которых работает приложение: 8081 для первого и 8082 для второго
+* Внутри контейнеров создаются папки /work для файлов скриптов, папки /var/result, /var/data для обоих сервисов
+* В оба контейнера устанавливается фреймворк Flask
+* Выбирается рабочая директория /work и туда копируются файлы скриптов
+* Командой запускаются сами скрипты
+
+Общий yml-файл настроен следующим образом:
+* блок services, где перечислены разворачиваемые сервисы.
+* для каждого сервиса прописан build, где обозначается его папка
+* для каждого сервиса прописано пробрасывание портов на хостовую машину
+* для каждого сервиса прописано отображение внутриконтейнерных папок на хостовые
+
+## Результат
+Пример выполнения:
+
+Исходные данные: четыре файла в папке /var/data с разным по длине названием
+
+Ход работы: нажатие кнопок на странице первого сервиса, потом - второго
+Созданные контейнеры:
+![Контейнеры](images/containers.png)
+
+Страница первого задания:
+![Страница первого задания](images/exercise1.png)
+
+Выходные данные при выполнении второго задания:
+![Второе задание. Результат](images/exercise2.png)
+
+## Ссылка на видео
+https://youtu.be/CEAAr0xolxM
\ No newline at end of file
diff --git a/sergeev_evgenii_lab_2/docker-compose.yml b/sergeev_evgenii_lab_2/docker-compose.yml
new file mode 100644
index 0000000..d634e9f
--- /dev/null
+++ b/sergeev_evgenii_lab_2/docker-compose.yml
@@ -0,0 +1,19 @@
+version: '3'
+
+services:
+ service1:
+ build:
+ context: ./service1
+ ports:
+ - "8081:8081"
+ volumes:
+ - .\var\data:/var/data
+ - .\var\result:/var/result
+
+ service2:
+ build:
+ context: ./service2
+ ports:
+ - "8082:8082"
+ volumes:
+ - ./var/result:/var/result
\ No newline at end of file
diff --git a/sergeev_evgenii_lab_2/images/containers.png b/sergeev_evgenii_lab_2/images/containers.png
new file mode 100644
index 0000000..63af3d5
Binary files /dev/null and b/sergeev_evgenii_lab_2/images/containers.png differ
diff --git a/sergeev_evgenii_lab_2/images/exercise1.png b/sergeev_evgenii_lab_2/images/exercise1.png
new file mode 100644
index 0000000..b808539
Binary files /dev/null and b/sergeev_evgenii_lab_2/images/exercise1.png differ
diff --git a/sergeev_evgenii_lab_2/images/exercise2.png b/sergeev_evgenii_lab_2/images/exercise2.png
new file mode 100644
index 0000000..9c5e3ab
Binary files /dev/null and b/sergeev_evgenii_lab_2/images/exercise2.png differ
diff --git a/sergeev_evgenii_lab_2/service1/Dockerfile b/sergeev_evgenii_lab_2/service1/Dockerfile
new file mode 100644
index 0000000..6379a70
--- /dev/null
+++ b/sergeev_evgenii_lab_2/service1/Dockerfile
@@ -0,0 +1,15 @@
+FROM python:3.11
+
+ENV LISTEN_PORT=8081
+EXPOSE 8081
+
+RUN ["mkdir", "/work"]
+RUN ["mkdir", "/var/data"]
+RUN ["mkdir", "/var/result"]
+RUN pip install Flask
+
+WORKDIR /work
+
+COPY index.html service1.py ./
+
+CMD ["python", "service1.py"]
\ No newline at end of file
diff --git a/sergeev_evgenii_lab_2/service1/index.html b/sergeev_evgenii_lab_2/service1/index.html
new file mode 100644
index 0000000..c0b0956
--- /dev/null
+++ b/sergeev_evgenii_lab_2/service1/index.html
@@ -0,0 +1,12 @@
+
+
+
+
+ Сервис № 1
+
+
+
+
+
diff --git a/sergeev_evgenii_lab_2/service1/service1.py b/sergeev_evgenii_lab_2/service1/service1.py
new file mode 100644
index 0000000..8a9e63f
--- /dev/null
+++ b/sergeev_evgenii_lab_2/service1/service1.py
@@ -0,0 +1,39 @@
+from flask import Flask, redirect, render_template
+import os
+
+app = Flask(__name__, template_folder='')
+
+
+@app.route('/')
+def home():
+ return render_template("index.html")
+
+
+@app.route('/ex')
+def do():
+ current_directory = os.getcwd()
+ directory_elements = current_directory.split(os.path.sep) # Разделяем по разделителю каталогов
+ cur_d = os.path.sep.join(directory_elements[:-1])
+ data_dir = cur_d + '/var/data'
+ path_result_file = cur_d + '/var/result/data.txt'
+
+ try:
+ # Получаем список файлов в указанном каталоге
+ files = os.listdir(data_dir)
+
+ # Формируем путь к каждому файлу и считаем количество символов в именах
+ characters_count_list = [len(file) for file in files]
+
+ # Пишем результат в файл data.txt
+ with open(path_result_file, 'w') as result_file:
+ for count in characters_count_list:
+ result_file.write(f'{count}\n')
+
+ print(f'Файл успешно создан.')
+ except Exception as e:
+ print(f'Произошла ошибка: {e}')
+
+ return redirect("/")
+
+
+app.run(host='0.0.0.0', port=8081)
diff --git a/sergeev_evgenii_lab_2/service2/Dockerfile b/sergeev_evgenii_lab_2/service2/Dockerfile
new file mode 100644
index 0000000..339421e
--- /dev/null
+++ b/sergeev_evgenii_lab_2/service2/Dockerfile
@@ -0,0 +1,14 @@
+FROM python:3.11
+
+ENV LISTEN_PORT=8082
+EXPOSE 8082
+
+RUN ["mkdir", "/work"]
+RUN ["mkdir", "/var/result"]
+RUN pip install Flask
+
+WORKDIR /work
+
+COPY index.html result.html service2.py ./
+
+CMD ["python", "service2.py"]
\ No newline at end of file
diff --git a/sergeev_evgenii_lab_2/service2/index.html b/sergeev_evgenii_lab_2/service2/index.html
new file mode 100644
index 0000000..8532127
--- /dev/null
+++ b/sergeev_evgenii_lab_2/service2/index.html
@@ -0,0 +1,12 @@
+
+
+
+
+ Сервис № 2
+
+
+
+
+
diff --git a/sergeev_evgenii_lab_2/service2/result.html b/sergeev_evgenii_lab_2/service2/result.html
new file mode 100644
index 0000000..836015b
--- /dev/null
+++ b/sergeev_evgenii_lab_2/service2/result.html
@@ -0,0 +1,10 @@
+
+
+
+
+ Результат работы
+
+
+ Результат: {{num}}
+
+
diff --git a/sergeev_evgenii_lab_2/service2/service2.py b/sergeev_evgenii_lab_2/service2/service2.py
new file mode 100644
index 0000000..f6fde43
--- /dev/null
+++ b/sergeev_evgenii_lab_2/service2/service2.py
@@ -0,0 +1,43 @@
+import os
+from flask import Flask, render_template
+
+app = Flask(__name__, template_folder='')
+
+
+@app.route('/')
+def home():
+ return render_template("index.html")
+
+
+@app.route('/ex')
+def do():
+ current_directory = os.getcwd()
+ directory_elements = current_directory.split(os.path.sep) # Разделяем по разделителю каталогов
+ cur_d = os.path.sep.join(directory_elements[:-1])
+ path_data_file = cur_d + '/var/result/data.txt'
+ path_result_file = cur_d + '/var/result/result.txt'
+
+ min_number = 0
+ try:
+ # Чтение чисел из файла
+ with open(path_data_file, 'r') as file:
+ numbers = [float(line.strip()) for line in file]
+
+ # Поиск минимального числа
+ min_number = min(numbers)
+
+ # Возведение минимального числа в третью степень
+ result = min_number ** 3
+
+ # Запись результата в файл
+ with open(path_result_file, 'w') as result_file:
+ result_file.write(str(result))
+
+ print(f'Наименьшее число из файла {path_data_file} в третьей степени сохранено в {path_result_file}.')
+ except Exception as e:
+ print(f'Произошла ошибка: {e}')
+
+ return render_template("result.html", num=min_number)
+
+
+app.run(host='0.0.0.0', port=8082)
diff --git a/sergeev_evgenii_lab_2/var/data/1 b/sergeev_evgenii_lab_2/var/data/1
new file mode 100644
index 0000000..e69de29
diff --git a/sergeev_evgenii_lab_2/var/data/123 b/sergeev_evgenii_lab_2/var/data/123
new file mode 100644
index 0000000..e69de29
diff --git a/sergeev_evgenii_lab_2/var/data/tutmnogobukv b/sergeev_evgenii_lab_2/var/data/tutmnogobukv
new file mode 100644
index 0000000..e69de29
diff --git a/sergeev_evgenii_lab_2/var/data/zdestozhe.txt b/sergeev_evgenii_lab_2/var/data/zdestozhe.txt
new file mode 100644
index 0000000..e69de29