Контейнеризация Legacy веб-сервиса
Существует внутренняя корпоративная система учёта, которая стабильно работала более 10 лет на устаревшем стеке технологий. В связи с заменой аппаратного обеспечения и невозможностью прямой установки необходимого ПО, требуется упаковать приложение в Docker-контейнер для его дальнейшей эксплуатации.
Исходное состояние проекта
- Язык программирования: PHP 5.3
- Фреймворк: YII (первой версии)
- База данных: MySQL (устаревшая версия, совместимая с PHP 5.3)
- Окружение: Запускалось на сетевом хранилище Synology с DSM 6
Задача
Создать Docker-контейнер (или набор контейнеров), который:
- Будет содержать полную среду для запуска приложения (PHP 5.3, необходимые модули, веб-сервер).
- Будет содержать совместимую версию MySQL или обеспечит к ней подключение.
- Обеспечит перенос существующей базы данных и файлов проекта в контейнеризированную среду.
- Позволит запускать приложение на новом оборудовании под управлением DSM 7+ через Docker.
- Сохранит полную функциональность существующего приложения.
Требования к результату
- Работоспособный Docker-образ, готовый к запуску.
- Инструкция по сборке, запуску и миграции данных.
- Обеспечение сохранности и целостности существующих данных.
- Решение должно быть максимально простым в поддержке и запуске.