# Лабораторная работа №2 ## Описание проекта Проект разворачивает 3 программы в отдельных контейнерах с использованием Docker Compose: 1. **generateFiles** - программа, выполняющая подготовку для последующих задач(генерирует файлы и помещает их в `./var/data`); 2. **first** - программа, выполняющая задачу 1.0 (ищет самый большой по объему файл в `./var/data` и перекладывает его в `./var/result`); 3. **second** - программа, выполняющая задачу 2.1 (ищет наибольшее число в найденном раннее файле и записывет его квадрат в `./var/result/result.txt`). ## Струкутура проекта ### Проект состоит из: - 3 папки(generateFiles, first, second) - Каждая папка содержит в себе файл с расширением `.py` с кодом программы; - Кадлая папка сожержит в себе файл `Dockerfile` с инструкцией по созданию Docker образа. - Файл `.gitignore` для исключения временных файлов директории `var/`; - Файл `docker-compose.yml` с конфигурацией Docker Compose. Каждый файл содержит в себе комментарии с описанием функциональности. ## Запуск 1. Скачать и установить Docker и Docker Compose; 2. Перейти в директорию с файлом docker-compose.yml; 3. Открыть консоль и запустить сервисы командой ```bash docker-compose up --build -d ``` 4. Дождаться запуска всех сервисов ```bash [+] Running 3/3 ✔ Container lazarev_andrey_lab_2-generate-files-1 Started 0.5s ✔ Container lazarev_andrey_lab_2-first-1 Started 1.3s ✔ Container lazarev_andrey_lab_2-second-1 Started 2.0s ``` 5. Остановка всех сервисов Для завершения работы с сервисами необходимо выполнить команду: ```bash docker-compose down ``` Дождаться завершения работы: ```bash [+] Running 4/4 ✔ Container lazarev_andrey_lab_2-second-1 Removed 0.0s ✔ Container lazarev_andrey_lab_2-first-1 Removed 0.0s ✔ Container lazarev_andrey_lab_2-generate-files-1 Removed 0.0s ✔ Network lazarev_andrey_lab_2_default Removed 0.4s ``` ## Видеодемонстрация работоспособности [Демонстрация работы сервисов](https://files.ulstu.ru/s/5EKdE7mFfApLDkr)