Можно ли кешировать многоэтапные сборки докеров? - PullRequest
0 голосов
/ 04 октября 2018

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

Я собираю окончательную сборку и выполняю --cache-from вначало новой сборки, но всегда выполняется полная сборка.

1 Ответ

0 голосов
/ 04 октября 2018

Похоже, что это ограничение самого докера, и оно описано в этом выпуске - https://github.com/moby/moby/issues/34715

Временное решение:

  1. Создайте промежуточные этапы с помощью -target
  2. Вставить промежуточные изображения в реестр
  3. Создать конечное изображение с помощью --target и использовать несколько путей --cache-from, перечисляя все промежуточные изображения и конечное изображение
  4. Вставьте окончательный образ в реестр
  5. Для последующих сборок сначала вытяните промежуточные + конечные образы из реестра
...