Почему Docker кэширует не все команды?

Доброй ночи.
Обычно большинство команд при повторной сборке образа юзают кэш и выполняются моментально. Однако некоторые (самые долгие) не кэшируются и упорно выполняются снова с нуля. Например, вот это:
# Gems and bundle
RUN cd /app/ \
    && bundle config git.allow_insecure true \
    && bundle config build.nokogiri --use-system-libraries \
    && bundle install --without development test \
    && apt-get purge -y \
      git \
      openssh-client \
      make \
      g++ \
      libxml2-dev \
      libxslt1-dev \
      libmagickwand-dev \
      libmariadbclient-dev \
      libsqlite3-dev \
      postgresql-server-dev-9.6 \
      libjpeg-dev \
      libpng-dev \
      libtiff-dev \
      libwebp-dev \
    && rm -rf /var/lib/apt/lists/* \
    && rm -rf /root/.ssh /tmp/* /var/tmp/*

Я бы очень хотел, чтобы при повторной сборке, если ничего в команде не поменялось, Докер тоже брал результат выполнения этой команды из кэша.

Почему некоторые команды не кэшируются, и как сделать так, чтобы кэшировалось?

Заранее спасибо.
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Расшарьте вес Dockerfile, или просто просмотрите его сами. Если на каком-то этапе были изменения, то все последующие кэши не используются.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Платформа НТИ Москва
от 160 000 до 190 000 руб.
Heedbook Москва
от 150 000 до 250 000 руб.
Factory5 Казань
До 160 000 руб.