Формат проведения защиты работы

Работа выполняется заочно и все результаты отправляются в виде архива на почту преподавателю andrey@crafted.su. Тема письма должна быть следующей: Пересдача экзамена UNIX ФАМИЛИЯ.

Загруженные результаты проверяются преподавателем и на их основании выставляется оценка по пересдаче.

Технические требования к реализации

Вы должны предоставить архив, включающий в себя следующие элементы:

  • В корне должен располагаться файл Dockerfile, с помощью которого должно выполняться создание образа. Каждое действие внутри Dockerfile должно быть прокомментировано. Комментарии должны описывать назначение данных действий.
  • В корне должны располагаться Bash-скрипты, реализующие поставленную задачу. Действия внутри
  • В корне должен располагаться файл readme.txt, в котором описывается предназначение каждого из файлов, а также способы их запуска. При отсутствии данного файла работа считается невыполненной.

Все файлы должны быть реализованы студентом самостоятельно.

Задача

Реализуйте систему запуска приложения adsf в рамках Docker-контейнера. Данное приложение поставляется в форме Ruby джема: https://rubygems.org/gems/adsf Необходимо использовать последнюю доступную версию приложения, 1.4.6.

Система должна позволять запускать приложение из специально подготовленного Docker-образа. После запуска приложение должно уметь отображать информацию из каталога основной файловой системы, а не файловой системы Docker-контейнера.

Система состоит из:

  • Docker-образа, содержащий последнюю версию приложения.
  • Скрипт, облегчающий запуск Docker-контейнера на основании Docker-образа.

Требование к Docker-образу: образ должен быть создан самостоятельно, запрещено использовать образ из Docker Hub.

Требования к скрипту:

  • Скрипт должен проверять наличие созданного Docker-образа. При отсутствии данного образа скрипт должен сообщать пользователю о необходимости создания данного образа. Желательно также предлагать команду по созданию Docker-образа.
  • Скрипт должен принимать в качестве обязательного аргумента путь к каталогу, который надо опубликовать с помощью приложения adsf. Если путь не указан или указан не к положенному каталогу, то скрипт должен сообщить об этом пользователю.
    • Можно использовать текущий рабочий каталог как путь по умолчанию, если данный аргумент не указан.
  • Скрипт может реализовать поддержку изменения порта, по которому доступен веб-интерфейс adsf.