Что такое слои Docker и как их учитывать при написании Dockerfile?

Образ Docker состоит из неизменяемых слоёв файловой системы; при сборке результаты шагов могут переиспользоваться из кеша. Порядок инструкций Dockerfile влияет на то, сколько работы повторяется после изменения.

Короткий ответ

Что ответить на собеседовании

Образ Docker состоит из неизменяемых слоёв файловой системы; при сборке результаты шагов могут переиспользоваться из кеша. Порядок инструкций Dockerfile влияет на то, сколько работы повторяется после изменения.

Подробный разбор

Ответ с пояснениями

Образ Docker состоит из неизменяемых слоёв файловой системы; при сборке результаты шагов могут переиспользоваться из кеша. Порядок инструкций Dockerfile влияет на то, сколько работы повторяется после изменения.

Сначала копируют редко меняющиеся файлы зависимостей и устанавливают их, затем добавляют часто меняющийся код. .dockerignore уменьшает ненужный контекст. Удаление файла в новом слое не убирает его байты из предыдущего слоя, поэтому временные артефакты очищают в том же шаге или используют multi-stage build. Не все инструкции создают файловые изменения. Секреты нельзя надёжно скрыть последующим удалением из образа.

Источник: docs.docker.com.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее