Кеширование в Docker при сборке образа происходит на уровне слоев. Каждый слой представляет собой результат выполнения одной инструкции в Dockerfile
. Docker engine следит за изменениями в инструкциях и файлах. Если инструкция и связанные с ней файлы не изменились с предыдущей сборки, Docker использует кешированный слой.
Принцип работы:
Dockerfile
сверху вниз.RUN
, COPY
, ADD
и т.д.) обрабатывается как отдельный шаг, создавая новый слой.Основные инструкции, влияющие на кеширование:
FROM
: Изменение базового образа инвалидирует кеш для всех последующих инструкций.RUN
: Любое изменение в команде RUN
инвалидирует кеш для этого и всех последующих слоев.COPY
, ADD
: Кеш инвалидируется, если изменилось содержимое копируемых/добавляемых файлов. Порядок файлов также важен.ENV
, ARG
, LABEL
: Изменение этих инструкций, какКеширование в Docker при сборке образа происходит на уровне слоев. Каждый слой представляет собой результат выполнения одной инструкции в Dockerfile
. Docker engine следит за изменениями в инструкциях и файлах. Если инструкция и связанные с ней файлы не изменились с предыдущей сборки, Docker использует кешированный слой.
Принцип работы:
Dockerfile
сверху вниз.RUN
, COPY
, ADD
и т.д.) обрабатывается как отдельный шаг, создавая новый слой.Основные инструкции, влияющие на кеширование:
FROM
: Изменение базового образа инвалидирует кеш для всех последующих инструкций.RUN
: Любое изменение в команде RUN
инвалидирует кеш для этого и всех последующих слоев.COPY
, ADD
: Кеш инвалидируется, если изменилось содержимое копируемых/добавляемых файлов. Порядок файлов также важен.ENV
, ARG
, LABEL
: Изменение этих инструкций, какRegister or sign in to get access to full answers for all questions from the question bank.