Docker Buildx cache-to: сохранить кэш сборки в registry
Параметры --cache-from и --cache-to позволяют Buildx читать кэш сборки из registry и сохранять туда новый. Это ускоряет CI, когда локальный кэш сборщика не переживает запуск job. Отдельный тег предназначен только для cache artifact; команда ниже записывает кэш, но не публикует собранный образ.
Импортировать и экспортировать registry cache
docker buildx build \
--cache-from type=registry,ref=ghcr.io/example/app:buildcache \
--cache-to type=registry,ref=ghcr.io/example/app:buildcache,mode=max \
--tag ghcr.io/example/app:ci \
.Укажите доступный registry и отдельную ссылку для кэша. mode=max сохраняет промежуточные слои multi-stage сборки; без него используется min и сохраняется только кэш итоговой стадии. Для записи кэша у runner должны быть права на push в выбранный registry. Не используйте production-тег приложения в качестве cache reference.
Обычная сборка приложения и запись cache — разные операции. Здесь нет --push, поэтому собранный образ не отправляется как release. У registry cache backend есть ограничения драйвера: с драйвером docker он доступен при включённом containerd image store; иначе выберите Buildx driver, поддерживающий registry cache.
Официальная документация: Registry cache backend.