Встроенный кэш

Бэкэнд хранения кэша inline — это самый простой способ получает внешний кэш, и его легко начать использовать, если вы уже собираете и продвигаете образ. Однако он не так хорошо масштабируется для многоэтапных сборок, как другие драйверы. Он также не предлагает разделения между артефактами вывода и вывода кэша. Это означает, что если вы используете особенно сложный поток сборки или не экспортируете свои образы непосредственно в реестр, то вам стоит обратить внимание на кэш реестр.

Синопсис

$ docker buildx build --push -t <registry>/<image> \
  --cache-to type=inline \
  --cache-from type=registry,ref=<registry>/<image> .

Дополнительные параметры для кэша inline не поддерживаются.

Чтобы экспортировать кэш, используя хранилище inline, передать type=inline опции --cache-to:

$ docker buildx build --push -t <registry>/<image> \
  --cache-to type=inline .

Кроме того, вы можете экспортировать инлайн-кэш, установив аргумент сборки BUILDKIT_INLINE_CACHE=1, вместо использования флага --cache-to:

$ docker buildx build --push -t <registry>/<image> \
  --arg BUILDKIT_INLINE_CACHE=1 .

Чтобы импортирует полученный кэш в будущую сборку, передать type=registry в --cache-from, что позволит вам извлечь кэш из образа Docker в указанном реестре:

$ docker buildx build --push -t <registry>/<image> \
  --cache-from type=registry,ref=<registry>/<image> .

Дальнейшее чтение

Введение в кэширование см. в разделе Оптимизация сборки с помощью кэша.

Для получения дополнительной информации о серверной части кэша inline см. BuildKit README.