DAS_2024_1/kashin_maxim_lab_2
2024-09-24 21:07:33 +04:00
..
program_0 Добавление комментариев и readme 2024-09-24 21:07:33 +04:00
program_1 Добавление комментариев и readme 2024-09-24 21:07:33 +04:00
program_2 Добавление комментариев и readme 2024-09-24 21:07:33 +04:00
.gitignore Проблема с Docker на компьютере. Сохранение процесса. 2024-09-23 15:28:34 +04:00
docker-compose.yml Добавление комментариев и readme 2024-09-24 21:07:33 +04:00
README.md Добавление комментариев и readme 2024-09-24 21:07:33 +04:00

Кашин Максим ПИбд-42

Описание

Этот проект состоит из трех отдельных программ, каждая из которых находится в своей папке (program_0, program_1, program_2). Каждая программа запускается в отдельном Docker-контейнере и взаимодействует с другими через общие директории, примонтированные как тома (volumes). Для управления контейнерами используется docker-compose.

Основная структура:

  • program_0: выполняет подготовку для выполнение задач (генерация файлов) и сохраняет результат в директорию ./var/data.
  • program_1: использует данные из ./var/data, генерируемые program_0, обрабатывает их и сохраняет результат в ./var/result.
  • program_2: берет результаты из ./var/result, созданные program_1, и выполняет заключительную часть обработки и сохраняет результат в ./var/result.

Шаги для запуска

  1. Запуск всех сервисов:

    Для запуска всех программ с помощью Docker Compose, выполните следующую команду:

    docker-compose up --build
    

    Это создаст и запустит все три программы в последовательности.

  2. Работа с томами:

    Проект использует два общих тома для обмена данными между программами:

    • /var/data: программа program_0 сохраняет туда свои данные, которые потом читает program_1.
    • /var/result: программа program_1 сохраняет результаты обработки, которые затем используются в program_2.
  3. Остановка сервисов:

    Для остановки всех контейнеров выполните команду:

    docker-compose down
    

Структура проекта

  • program_0/:

    • main.py: основной код для первой программы (генерация файлов).
    • Dockerfile: инструкция по созданию Docker-образа для program_0.
  • program_1/:

    • main.py: основной код для второй программы (Скрипт на задание 1.3 - Формирует файл /var/result/data.txt так, что каждая строка файла - количество строк в файлах из каталога /var/data.)
    • Dockerfile: инструкция по созданию Docker-образа для program_1.
  • program_2/:

    • main.py: основной код для третьей программы (Скрипт на задание 2.1 - Ищет набольшее число из файла /var/result/data.txt и сохраняет его вторую степень в /var/result/result.txt.)
    • Dockerfile: инструкция по созданию Docker-образа для program_2.
  • docker-compose.yml: конфигурация для Docker Compose, описывающая, как собирать и запускать все контейнеры, а также тома, которые они используют.

  • .gitignore: файл для исключения директории var/ (временных данных и результатов).

Видео-отчёт