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

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

Docker Лабораторна 18: Контейнеризація legacy застосунку

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

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

Тема: Міграція існуючого застосунку у контейнер

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

Мета: відпрацювати підхід до контейнеризації вже існуючої програми.



Крок 1. Вибрати простий legacy застосунок.

Пояснення: наприклад невеликий веб сервіс який запускається через systemd.



Крок 2. Зібрати список залежностей.

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



Крок 3. Написати базовий Dockerfile який встановлює ці залежності.

Пояснення: використай відповідний базовий образ.



Крок 4. Додати копіювання коду застосунку у образ.

Пояснення: змоделюй структуру каталогу як на хості.



Крок 5. Визначити команду запуску.

Пояснення: заміни systemd на простий стартовий скрипт або binary.



Крок 6. Зібрати образ і запустити контейнер.

Команда: docker build -t legacy-lab18 .; docker run -d --name legacy18 legacy-lab18



Крок 7. Перевірити роботу сервісу.

Пояснення: зроби http запит або інший функціональний тест.



Крок 8. Виявити відмінності між поведінкою на хості і у контейнері.

Пояснення: наприклад шляхи до логів або файлової системи.



Крок 9. Виправити ці відмінності за допомогою змінних середовища та томів.

Пояснення: винеси конфіг та дані за межі образу.



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

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