Не используйте кеш слоев, но используйте кеш монтирования при использовании docker+buildkit

При использовании buildkit, используя интерфейс docker cli, я иногда не хочу использовать Layer-cache, но хочу полагаться на более новый тип mount-cache.

RUN --mount=type=cache,target=...

Однако бег docker build --no-cache похоже, отключает оба.

Есть ли способ выбрать так, чтобы при перестроении использовался только кеш монтирования?

1 ответ

Вы можете обойти это, запустив Dockerfile со слоем, который всегда будет меняться, делая недействительными все последующие кэшированные слои.

Подойдет ARG с постоянно меняющимися значениями. Например:

      FROM whatever
ARG CACHE_EPOCH
# ... etc
      docker build --pull --build-arg CACHE_EPOCH=$(date +%s)

(У меня очень похожая потребность https://stackoverflow.com/a/72993502/11715259)

Другие вопросы по тегам