# Отчет. Лабораторная работа 2 В рамках лабораторной работы №2 были написаны два сервиса, работающих с текстовыми файлами. Для первого сервиса был выбран вариант задания №5: ``` Ищет в каталоге /var/data файл с самым коротким названием и перекладывает его в /var/result/data.txt. ``` А для второго - №2: ``` Ищет наименьшее число из файла /var/data/data.txt и сохраняет его третью степень в /var/result/result.txt. ``` ## Описание Сначала сервис first перемещает данные из файла с самым коротким названием, находящегося в указанной примонтированной директории, в выходную папку. Доступ к выходной папке имеет второй сервис, который выводит наименьшее число из помещенного первым сервисом файла в третьей степени в выходной файл. Выходной файл расположен в примонтированной директории и доступен на машине, где запускаются сервисы. В Dockerfile используется многоэтапная сборка с использованием нескольких базовых образов на каждом этапе. Описание значения каждой строки есть в Dockerfile в сервисе first. В файле docker-compose.yml приведено описание новых строк, связанных с подключением примонтированных томов. Стоит отметить, что для "общения" сервисов используется общий том common, который монтируется в контейнер по пути /var/result. Это позволяет сохранять результаты работы первого сервиса для использования вторым сервисом. ## Как запустить Для того, чтобы запустить сервисы, необходимо выполнить следующие действия: 1. Установить и запустить Docker Engine или Docker Desktop 2. Через консоль перейти в папку, в которой расположен файл docker-compose.yml 3. Выполнить команду: ``` docker compose up --build ``` В случае успешного запуска всех контейнеров в консоли будет выведено следующее сообщение: ``` ✔ Network borschevskaya_anna_lab_2_default Created 0.1s ✔ Container borschevskaya_anna_lab_2-first-1 Created 0.1s ✔ Container borschevskaya_anna_lab_2-second-1 Created 0.1s Attaching to borschevskaya_anna_lab_2-first-1, borschevskaya_anna_lab_2-second-1 ``` Далее, в консоль каждого сервиса будут выведены сообщения о том, как прошла обработка файлов. В случае отсутствия заданных значений переменных окружения INPUT_PATH и OUTPUT_PATH и в иных исключительных ситуация будет выведена информация об этом. ## Видео-отчет Работоспособность лабораторной работы можно оценить в следующем [видео](https://disk.yandex.ru/i/LFxdyRUFQDwXEQ).