Докеризируем приложение
Решил вот попрактиковаться и обернул в контейнер сервер любимой игрушки.
Предыстория
Когда-то давным-давно я работал волонтером в Интернет трейнинг центре, который финансировался фондом Сороса. Суть в том, что школьникам предлагалось бесплатно учиться мастерить сайты, ну и соответственно делать их для клиентов того самого Интернет трейнинг центра.
Такой вот бартер, мы тебе знания и практику, а ты на нас пашешь бесплатно.
Но суть не в этом, суть в том, что во времена диал-апа, там был хороший 128 килобитный интернет.
И, однажды, я искал информацию для доклада по русским былинам и наткнулся на сайт mud.ru, сейчас bylins.su.
Это оказался сайт игры, мира русских сказок и легенд. И говоря мир, я не преувеличиваю. Игра действительно огромна, количество локаций поражает воображение. Кроме того, игра полностью текстовая, что позволяет каждому иметь свою собственную графику, построенную воображением.
Что же дальше?
А дальше были почти 19 лет игры. Встречи в разных городах. Постараюсь вспомнить:
- Петропавловск – пять или шесть раз
- Омск – 1 раз
- Новосибирск – 2 раза
- Челябинск – 1 раз
- Санкт-Петербург – 1 раз
- Алма-ата – раз 10
Везде встречи происходили в дружеской атмосфере. Игра также затягивала, как наркотик. Основной плюшкой было использование воображения. Также каждый мог поучаствовать в развитии игры. Код игры открыт, также есть полное описание скриптового языка DG_Script для создания триггеров при написании локаций. Билдеры для создания локаций также представлены на сайте.
Я сам написал несколько зон, из которых две были одобрены и подключены.
Что-то пошло не так
Как известно, все хорошее когда-нибудь кончается. В конечном итоге я поругался с главным администратором игры и он забанил меня и примерно половину основного состава моего клана.
Поэтому было решено построить свой луна-парк с блекджеком и шлюхами. Сказано – сделано.
Мы решили обратиться к автору другого мада, основанного на этом же движке, с предложением развернуть форк у себя на сервере.
Дальше было около двух месяцев разбора кода и отладки отдельных моментов, но в конечном итоге игра была запущена.
Теперь, когда у меня есть время, я тусуюсь на новом сервере со своим кланом. Жаль, что вот только времени совсем нет.
Ближе к делу
Как-то раз, не знаю почему, мне захотелось запилить контейнер с сервером мада. По итогам двух-трех дней разбора зависимостей это удалось.
К слову, стало понятно, почему разрабы не очень любят RH-based дистрибутивы. Оказывается в их репозиториях есть только древние версии многих пакетов. Но я уже начал собирать контейнер на образе amazon-linux, так что решил, что это будет дополнительный челлендж.
Итак, чтобы запустить сервер необходимо просто запустить контейнер.
docker run -d -p 4000:4000 nickpoida/bylins
Если необходимо перестроить контейнер – Dockerfile лежит здесь.
https://github.com/nickpoida/bylins_docker
В общем, как говорят в том же маде – доне 🙂