← До фільтрів та технологій

← До списку лабораторних по Docker

Docker Лабораторна 66: Поетапна контейнеризація

Технологія: Docker

Номер лабораторної: 66 · Рівень: middle

Тема: Міграція легасі сервісу у Docker

Повний опис / сценарій лабораторної:

Мета: розробити план міграції легасі застосунку з bare metal або віртуалки у Docker.



Крок 1. Зібрати інформацію про залежності легасі сервісу.

Пояснення: версії мови, бібліотек, бази даних, зовнішні сервіси.



Крок 2. Знайти існуючі пакети або офіційні образи для цих компонентів.

Пояснення: наприклад офіційний образ з потрібною версією PHP або Java.



Крок 3. Створити перший чернетковий Dockerfile який повторює встановлення з документації.

Пояснення: по можливості уникати інтерактивних скриптів.



Крок 4. Перенести конфігураційні файли у проєкт.

Пояснення: розділити ті що специфічні для середовища і ті що загальні.



Крок 5. Запустити застосунок у контейнері на окремому dev хості.

Команда: docker build -t legacy-app .; docker run -d -p 8090:80 legacy-app



Крок 6. Налаштувати підключення до тестової бази або її копії.

Пояснення: важливо не чіпати прод дані.



Крок 7. Порівняти поведінку контейнерної версії з оригінальною.

Пояснення: логін, основні сценарії, продуктивність.



Крок 8. Виявити частини які важко контейнеризувати.

Пояснення: наприклад локальні крон завдання, робота з файловою системою.



Крок 9. Скласти чек лист для остаточної міграції у прод.

Пояснення: зміна dns, балансувальник, rollback план.



Крок 10. Міні звіт.

Завдання: опиши головні ризики міграції цього сервісу у Docker і як їх мінімізувати.