57 lines
3.1 KiB
Markdown
57 lines
3.1 KiB
Markdown
|
# Лабораторная работа №2
|
|||
|
|
|||
|
## Описание проекта
|
|||
|
|
|||
|
Проект разворачивает 3 программы в отдельных контейнерах с использованием Docker Compose:
|
|||
|
1. **generateFiles** - программа, выполняющая подготовку для последующих задач(генерирует файлы и помещает их в `./var/data`);
|
|||
|
2. **first** - программа, выполняющая задачу 1.0 (ищет самый большой по объему файл в `./var/data` и перекладывает его в `./var/result`);
|
|||
|
3. **second** - программа, выполняющая задачу 2.1 (ищет наибольшее число в найденном раннее файле и записывет его квадрат в `./var/result/result.txt`).
|
|||
|
|
|||
|
## Струкутура проекта
|
|||
|
|
|||
|
### Проект состоит из:
|
|||
|
|
|||
|
- 3 папки(generateFiles, first, second)
|
|||
|
- Каждая папка содержит в себе файл с расширением `.py` с кодом программы;
|
|||
|
- Кадлая папка сожержит в себе файл `Dockerfile` с инструкцией по созданию Docker образа.
|
|||
|
|
|||
|
- Файл `.gitignore` для исключения временных файлов директории `var/`;
|
|||
|
|
|||
|
- Файл `docker-compose.yml` с конфигурацией Docker Compose.
|
|||
|
|
|||
|
Каждый файл содержит в себе комментарии с описанием функциональности.
|
|||
|
|
|||
|
## Запуск
|
|||
|
|
|||
|
1. Скачать и установить Docker и Docker Compose;
|
|||
|
2. Перейти в директорию с файлом docker-compose.yml;
|
|||
|
3. Открыть консоль и запустить сервисы командой
|
|||
|
```bash
|
|||
|
docker-compose up --build -d
|
|||
|
```
|
|||
|
4. Дождаться запуска всех сервисов
|
|||
|
```bash
|
|||
|
[+] Running 3/3
|
|||
|
✔ Container lazarev_andrey_lab_2-generate-files-1 Started 0.5s
|
|||
|
✔ Container lazarev_andrey_lab_2-first-1 Started 1.3s
|
|||
|
✔ Container lazarev_andrey_lab_2-second-1 Started 2.0s
|
|||
|
```
|
|||
|
5. Остановка всех сервисов
|
|||
|
Для завершения работы с сервисами необходимо выполнить команду:
|
|||
|
```bash
|
|||
|
docker-compose down
|
|||
|
```
|
|||
|
Дождаться завершения работы:
|
|||
|
```bash
|
|||
|
[+] Running 4/4
|
|||
|
✔ Container lazarev_andrey_lab_2-second-1 Removed 0.0s
|
|||
|
✔ Container lazarev_andrey_lab_2-first-1 Removed 0.0s
|
|||
|
✔ Container lazarev_andrey_lab_2-generate-files-1 Removed 0.0s
|
|||
|
✔ Network lazarev_andrey_lab_2_default Removed 0.4s
|
|||
|
```
|
|||
|
|
|||
|
## Видеодемонстрация работоспособности
|
|||
|
|
|||
|
[Демонстрация работы сервисов](https://files.ulstu.ru/s/5EKdE7mFfApLDkr)
|
|||
|
|