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

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

Docker Лабораторна 3: Multi-stage Dockerfile

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

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

Тема: Dockerfile та багатостадійна збірка

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

Мета: навчитися створювати багатостадійні Dockerfile для зменшення кінцевого образу.



Крок 1. Створити простий застосунок наприклад на Go або Node.

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



Крок 2. Написати Dockerfile з однією стадією.

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



Крок 3. Зібрати образ і подивитися його розмір.

Команда: docker build -t lab3-single .

Пояснення: зафіксуй розмір у конспекті.



Крок 4. Переписати Dockerfile на multi-stage.

Пояснення: перша стадія builder збирає бінарник, друга стадія копіює тільки результат.



Крок 5. Використати мінімальний базовий образ для фінальної стадії.

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



Крок 6. Зібрати новий образ.

Команда: docker build -t lab3-multi .

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



Крок 7. Порівняти розміри образів.

Команда: docker images lab3-single lab3-multi

Пояснення: різниця в розмірі покаже вигоду від multi-stage.



Крок 8. Запустити контейнер з multi-stage образу.

Команда: docker run --rm lab3-multi

Пояснення: переконайся що застосунок працює коректно.



Крок 9. Проаналізувати історію шарів.

Команда: docker history lab3-multi

Пояснення: зверни увагу що у фінальному образі немає інструментів збірки.



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

Завдання: в окремому файлі опиши типові випадки де multi-stage необхідний.