# Калышев Ян ПИбд-42 ## Описание Этот проект предоставляет 2 контейнера с простыми python-скриптами такими, что результат первого является исходными данными для второго. ## 1. Варианты Для первой программы был взят вариант: **0**. Ищет в каталоге /var/data самый большой по объёму файл и перекладывает его в /var/result/data.txt. Для второй программы был взят вариант: **2**. Ищет наименьшее число из файла /var/data/data.txt и сохраняет его третью степень в /var/result/result.txt. ## 2. Структура Dockerfile Оба Dockerfile почти одинаковые: ```Dockerfile #Берем базовый образ python FROM python:3.12 #Устанавливаем рабочую директорию WORKDIR /app #Копирум код в рабочую директорию COPY main.py . #Задаем /var/data как монтируемый VOLUME ["/var/data"] #Задаем /var/result как монтируемый VOLUME ["/var/result"] #Задаем команду для выполнения программы CMD ["python", "main.py"] ``` ## 3. Docker Compose `docker-compose.yml`: ```yaml services: #Первый скрипт first: #Указание директории для сборки первого скрипта build: ./FirstProgram/ #Монтирование 2 каталогов из хост системы volumes: - ./data:/var/data - ./result_first:/var/result #Второй скрипт second: #Указание директории для сборки второго скрипта build: ./SecondProgram/ #Задание очередности запуска с помощью depends_on depends_on: - first #Монтирование 2 каталогов из хост системы volumes: - ./result_first:/var/data - ./result_second:/var/result ``` ## 4. Запуск Для запуска использовать команду `docker compose up --build` Предварительно нужно создать папку `data`, в которой создать файлы, где каждая строка - это число. Результат первого скрипта будет в папке `result_first`, результат второго скрипта будет в папке `result_second`. ## 7. Ссылка на видео [Видео-отчёт Калышев Ян ПИбд-42](https://zyzf.space/s/65HRyTTXAzxpwBF)