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

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

Docker Лабораторна 32: Оптимізація через .dockerignore

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

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

Тема: .dockerignore та швидкість збірки

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

Мета: навчитися правильно використовувати .dockerignore щоб зменшити контекст збірки.



Крок 1. Створити проєкт з великою кількістю файлів.

Пояснення: наприклад додай каталог node_modules або build артефакти.



Крок 2. Зібрати образ без .dockerignore.

Команда: time docker build -t lab32-noignore .

Пояснення: зафіксуй приблизний час збірки.



Крок 3. Перевірити розмір контексту збірки.

Пояснення: у логах build видно розмір архіву який надсилається демону.



Крок 4. Створити файл .dockerignore.

Пояснення: додай туди каталоги node_modules build .git та інші зайві файли.



Крок 5. Повторити збірку.

Команда: time docker build -t lab32-ignore .

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



Крок 6. Переконатися що потрібні файли все ще потрапляють в образ.

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



Крок 7. Додати до .dockerignore тимчасові файли редакторів.

Пояснення: наприклад *.swp *.tmp або .idea.



Крок 8. Обговорити ризики занадто агресивного ignore.

Пояснення: можна випадково виключити важливий код або шаблон.



Крок 9. Сформувати типову заготовку .dockerignore для своїх проєктів.

Пояснення: це заощадить час у майбутньому.



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

Завдання: опиши як .dockerignore впливає на reproducible збірку.