DAS_2023_1/sergeev_evgenii_lab_2/README.md
sergeevevgen 46f2a8da94 +
2024-01-16 17:12:52 +04:00

3.1 KiB
Raw Blame History

Задание

Развернуть два взаимосвязанных сервиса по варианту:

Вариант № 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 с разным по длине названием

Ход работы: нажатие кнопок на странице первого сервиса, потом - второго Созданные контейнеры: Контейнеры

Страница первого задания: Страница первого задания

Выходные данные при выполнении второго задания: Второе задание. Результат

Ссылка на видео

https://youtu.be/CEAAr0xolxM