Dockerfile не понимает, что необходимо сбросить кэш после выполнения команды yum update
. Кэширование Docker основано на содержимом команд в Dockerfile.
При выполнении команды RUN yum update
, Docker кэширует результат выполнения этой команды. Если содержимое строки RUN yum update
не меняется, Docker использует кэшированный слой.
Чтобы гарантировать выполнение команды yum update
при сборке образа, необходимо добавить нечто в эту команду, что будет меняться при каждой сборке или при необходимости обновления. Один из распространенных способов — добавить метку времени или случайное число, хотя это не всегда лучший подход. Более правильным является использование многостадийной сборки или управление зависимостями с помощью пакетного менеджера более явно.
Однако, самый эффективный способ принудительно сбросить кэш для определенной инструкции – это изменить ее содержимое. Docker рассматривает каждую инструкцию как атомарную единицу для кэширования.
Пример потенциального использования такой "антикэш" техники (не рекомендуется для production, но показывает принцип):
dockerfile
Этот метод заставляет Docker
Dockerfile не понимает, что необходимо сбросить кэш после выполнения команды yum update
. Кэширование Docker основано на содержимом команд в Dockerfile.
При выполнении команды RUN yum update
, Docker кэширует результат выполнения этой команды. Если содержимое строки RUN yum update
не меняется, Docker использует кэшированный слой.
Чтобы гарантировать выполнение команды yum update
при сборке образа, необходимо добавить нечто в эту команду, что будет меняться при каждой сборке или при необходимости обновления. Один из распространенных способов — добавить метку времени или случайное число, хотя это не всегда лучший подход. Более правильным является использование многостадийной сборки или управление зависимостями с помощью пакетного менеджера более явно.
Однако, самый эффективный способ принудительно сбросить кэш для определенной инструкции – это изменить ее содержимое. Docker рассматривает каждую инструкцию как атомарную единицу для кэширования.
Пример потенциального использования такой "антикэш" техники (не рекомендуется для production, но показывает принцип):
dockerfile
Этот метод заставляет Docker
Register or sign in to get access to full answers for all questions from the question bank.