Пересдача экзамена № 1
Формат проведения защиты работы
Работа выполняется заочно и все результаты отправляются в виде архива на почту преподавателю 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
.