Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа №3

Бобришов Роман, МКН-418Б

Запуск расчётов в контейнерах Docker и с помощью Docker Compose

Описание

В рамках лабораторной работы №3 были реализованы Docker-образы для запуска скриптов из лабораторных работ №1 и №2, а также разработано клиент-серверное приложение с использованием docker-compose.

Цель работы — изолировать окружение для выполнения вычислительных задач, обеспечить воспроизводимость результатов и автоматизировать процесс сборки, запуска и сохранения данных с использованием контейнеризации.

Требования

  • Docker Engine ≥ 20.10
  • Docker Compose ≥ 2.0
  • Доступ к репозиториям с кодом лабораторных работ №1 и №2

Сборка и запуск

1. Сборка образов вручную

# Сборка для лабораторной №1
docker build -t lab1_image .
docker run --rm lab1_image
docker run --rm -v "%cd%/results:/app/results" lab1_image

# Сборка для лабораторной №2
docker build -t lab2_image .
docker run --rm lab2_image
docker run --rm -v "%cd%/results:/app/results" lab2_image

2. Запуск через Docker Compose

docker-compose up --build

При запуске:

  • Клиент (lab01) и сервер (lab02) запускаются в отдельных контейнерах;
  • Выполняются вычисления с разными параметрами (шаг сетки, значение параметра и т.д.);
  • Результаты замеров времени сохраняются в локальную папку ./results/.

Реализация

Образы Docker

Для лабораторной №1:

  • Базовый образ: python:3.11-slim
  • Установлены зависимости через pipenv
  • Создана виртуальная среда
  • Скрипты скопированы из репозитория lab01
  • Выполняются замеры времени при различных параметрах

Для лабораторной №2:

  • Базовый образ: python:3.11-slim с установленным g++
  • Установлены зависимости (pybind11, numpy, pipenv)
  • Выполняется сборка C++ расширения внутри контейнера
  • Скрипты запускаются аналогично lab01

Docker Compose

Файл docker-compose.yml описывает:

  • Два сервиса: client и server
  • Общий volume ./results:/app/results для сохранения результатов на хост
  • Зависимость запуска: server стартует первым

Результаты

Во время выполнения скрипты генерируют файлы

Каждый файл содержит:

  • Значение параметра (например, шаг сетки)
  • Время выполнения (в секундах)
  • Версию скрипта и окружения

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages