← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: навчитися створювати багатостадійні 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 необхідний.