DAS_2024_1/borschevskaya_anna_lab_2/README.md

4.2 KiB
Raw Permalink Blame History

Отчет. Лабораторная работа 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 и в иных исключительных ситуация будет выведена информация об этом.

Видео-отчет

Работоспособность лабораторной работы можно оценить в следующем видео.