DAS_2024_1/zhimolostnova_anna_lab_2/README.md
2024-09-21 16:15:48 +04:00

4.9 KiB
Raw Permalink Blame History

Отчет по лабораторной работе №2

Поставленные задачи

  1. Согласно вашему варианту (выбирайте любой) разработать два приложения такие, что результат первого является исходными данными для второго.
  2. Изучить файлы сборки образов docker и разработать их для созданных приложений.
  3. Собрать файл docker-compose.yml для запуска приложений. Разобраться с монтированием каталогов из хост-системы.
  4. Правильно закоммитить результат без лишних файлов.
  5. Оформить pull request по правилам и отправить его на проверку.

Варианты заданий

  1. Программа 1 под вариантом 5: Ищет в каталоге /var/data файл с самым коротким названием и перекладывает его в /var/result/data.txt.
  2. Программа 2 под вариантом 2: Ищет наименьшее число из файла /var/data/data.txt и сохраняет его третью степень в /var/result/result.txt.

Запуск работы

  1. Убедиться, что установлены необходимые технологии:
    • Docker: Платформа для контейнеризации приложений.
    • Docker Compose: Инструмент для запуска многоконтейнерных приложений на основе docker-compose.yaml. Обычно поставляется вместе с Docker. Чтобы проверить, установлена ли утилита, нужно запустить команду:
    docker-compose --version
  1. В директории, где находится файл docker-compose.yaml, выполнить следующую команду для запуска всех сервисов:
    docker-compose up --build

Эта команда сначала выполнит сборку, а затем запустит контейнеры.

  1. После успешного запуска можно перейти в каталог проекта и увидеть папку data со сгенерированными файлами и папку result, в которой два текстовых файла:
    • data.txt - файл, полученный после выполнения первой программы.
    • result.txt -файл, полученный после выполнения второй программы.

Ход работы

  1. Реализация генератора файлов Написание скрипта generate_files.py, который генерирует случайные файлы с числами и сохраняет их в папке data. Создание Dockerfile для генератора, который устанавливает Python и копирует скрипт в контейнер. (ПОстрочное описание скрипта и Dockerfile представлено в папке generator)
  2. Реализация первого приложения Создание первой программы в app.py, которая ищет файл с самым коротким именем в папке data и копирует его содержимое в result/data.txt. Создание Dockerfile для первого приложения с аналогичной для Dockerfile из generate структурой.
  3. Реализация второго приложения Создание второй программы в app.py, которая находит минимальное число из result/data.txt и записывает его третью степень в result/result.txt. Создание Dockerfile для второго приложения с аналогичной для Dockerfile из generate структурой.
  4. Создание файла docker-compose.yml Создание файла docker-compose.yml, в котором описываются все три сервиса (генератор, первое приложение, второе приложение). Необходимо настроить их зависимости и монтирование папок.

Построчное описание docker-compose.yaml и других файлов выполнено в самих файлах.

Демонстрационное видео

Видеозапись доступна по адресу: https://vk.com/video193898050_456240869