26 lines
3.4 KiB
Markdown
26 lines
3.4 KiB
Markdown
# Лабораторная работа 2
|
||
Данная работа посвящена теме создания контейнеров из исходного кода посредства dockerfile, а так же взаимодействию сервисов через общие папки
|
||
## Описание
|
||
Был варана следующая комбинация вариантов:
|
||
- Первое приложение - 0-ой
|
||
- Второе приложение - 1-ый
|
||
В результате, после запуска система изучит папку ./volumes/input, найдёт самый большой файл, а затем найдёт в нём самое большое число, выведя в директорию ./volumes/output файл с его квадратом.
|
||
Буфер же, по сути не имеет физического отображения на папку хоста.
|
||
## Запуск
|
||
Для запуска лабораторной работы необходимо иметь запущенный движок Docker на устройстве.
|
||
Необходимо перейти в папку, где располагается данный файл. Далее открыть терминал и ввести команду:
|
||
```
|
||
docker compose up --build
|
||
```
|
||
В данном случае флаг `--build` заставит систему в любом случае собрать образы из исходников (даже если они уже есть).
|
||
В результате, после сборки оба сервиса запустятся и выведут в консоль логи примерно следующего содержания:
|
||
## Описание dockerfile файла
|
||
Подробное описание дано в виде комментариев в самом файле первого сервиса. Так как для разработки использовался .net 8.0, команд довольно много. При этом, так как второй сервис написан на той же платформе, особенных отличий двух docekrfile-ов нет(кроме пути
|
||
## Описание compose файла
|
||
Благодаря директиве `depends_on` в compose файле второй сервис будет ждать, пока не будет поднят первый сервис, и только потом начнёт подниматься.
|
||
Директива `build` позволяет использовать в compose не уже готовый образ, а тот, что будет собран непосредственно в момент запуска(если он уже существует и нет флага силовой сборки, будет использоваться существующий образ)
|
||
Область volumes позволяет создать буферную область. Эту папку можно монтировать как результирующую для первого сервиса и исходную - для второго
|
||
## Видеодемонстрация
|
||
Был записан видеоролик, демонстрирующий процесс запуска и работы сервисов. Он расположен по [адресу](https://drive.google.com/file/d/1sACiKx3_HRApa89a7LZFAZV05o7POhq6/view?usp=sharing)
|
||
|