Образ Docker состоит из неизменяемых слоёв файловой системы; при сборке результаты шагов могут переиспользоваться из кеша. Порядок инструкций Dockerfile влияет на то, сколько работы повторяется после изменения.
Что такое слои Docker и как их учитывать при написании Dockerfile?
Образ Docker состоит из неизменяемых слоёв файловой системы; при сборке результаты шагов могут переиспользоваться из кеша. Порядок инструкций Dockerfile влияет на то, сколько работы повторяется после изменения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Образ Docker состоит из неизменяемых слоёв файловой системы; при сборке результаты шагов могут переиспользоваться из кеша. Порядок инструкций Dockerfile влияет на то, сколько работы повторяется после изменения.
Сначала копируют редко меняющиеся файлы зависимостей и устанавливают их, затем добавляют часто меняющийся код. .dockerignore уменьшает ненужный контекст. Удаление файла в новом слое не убирает его байты из предыдущего слоя, поэтому временные артефакты очищают в том же шаге или используют multi-stage build. Не все инструкции создают файловые изменения. Секреты нельзя надёжно скрыть последующим удалением из образа.
Источник: docs.docker.com.