64 lines
4.0 KiB
Markdown
64 lines
4.0 KiB
Markdown
# Лабораторная работа номер 2
|
||
|
||
> Здравствуйте меня зовут Балахонов Данила группа ПИбд-42
|
||
>
|
||
> *— Балахонов Данила ПИбд-42*
|
||
|
||
Видео лабораторной работы номер 2 доступно по этой [ссылке](https://drive.google.com/file/d/1N4NgWsFLlHY5lGOO3Ps7DPvdJbHNxaqz/view?usp=sharing).
|
||
|
||
## Как запустить лабораторную работу номер 2?
|
||
### Необходимые компоненты для запуска лабораторной работы номер 2
|
||
> Здесь рассказана установка необходимых компонентов для запуска лабораторной работы номер 2 под дистрибутив GNU/Linux **Ubuntu**.
|
||
|
||
Для запуска лабораторной работы номер 2 необходимы такие компоненты:
|
||
- Git
|
||
- Docker
|
||
- Docker compose
|
||
|
||
Чтобы установить **Git**, необходимо ввести данные команды в командную строку:
|
||
``` bash
|
||
sudo apt-get update
|
||
sudo apt-get install git
|
||
```
|
||
|
||
Чтобы установить **Docker** и **Docker compose**, стоит ввести такие команды:
|
||
``` bash
|
||
# Настройка репозитория Docker
|
||
sudo apt-get update
|
||
sudo apt-get install ca-certificates curl
|
||
sudo install -m 0755 -d /etc/apt/keyrings
|
||
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
||
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||
|
||
echo \
|
||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||
sudo apt-get update
|
||
|
||
# Установка Docker и его компонентов
|
||
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||
```
|
||
### Запуск лабораторной работы номер 2
|
||
Для запуска лабораторной работы номер 2 необходимо **склонировать** репозиторий в любую папку и **перейти на ветку** balakhonov_danila_lab_2.
|
||
Далее в папке с `docker-compose.yaml` нужно вызвать такую команду:
|
||
``` bash
|
||
sudo docker-compose up --build
|
||
```
|
||
Таким образом контейнеры будут подготовлены и запущены. Результат выполнения будет находится внутри директории докера. Расположение файлов data.txt и result.txt: `/var/lib/docker/volumes/balakhonov_danila_lab_2_result/_data/`
|
||
|
||
## Какие технологии были использованы?
|
||
Для выполнения лабораторной работы номер 2 были применены такие технологии, как:
|
||
- Dockerfile
|
||
- Docker compose
|
||
- Git
|
||
- .NET SDK и F# в частности
|
||
|
||
Сервисы были написаны с использованием .NET SDK на языке F#.
|
||
## Что делает лабораторная работа номер 2?
|
||
Лабораторная работа номер 2 запускает два сервиса:
|
||
|
||
1. Сервис, который берёт из каталога `/var/data` случайный файл и перекладывает его в `/var/result/data.txt`
|
||
2. Сервис, который ищет наибольшее число из файла `/var/result/data.txt` и сохраняет количество таких чисел из последовательности в `/var/result/result.txt`
|
||
|
||
Благодаря лабораторной работе номер 2 были получены навыки создания Dockerfile для развертывания проектов в контейнерах, а также их связки с помощью docker-compose.yaml. |