43 lines
4.2 KiB
Markdown
43 lines
4.2 KiB
Markdown
|
# Отчет. Лабораторная работа 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).
|