Я недавно начал использовать docker для приложения asp.net core
. Я обнаружил, что могу сначала скопировать .csproj
файлы, затем сделать nuget restore
, а затем скопировать все остальные файлы и dotnet publish
. Таким образом, если в .csproj
файлы restore
не добавляются новые пакеты nuget, пропускается из-за кэширования. То же самое для публики sh.
Это то, что мы хотели, но когда нам не хватило дискового пространства на сервере, мы поняли, что после каждой сборки у нас есть несколько висячих образов, которые занимают около 1 ГБ для каждой сборки. Затем мы помещаем команду image prune
для выполнения после сборки, что решило проблему с дисковым пространством, но затем кэширование перестало работать.
Итак, мой вопрос: возможно ли иметь как кэширование, так и избавиться от проблемы с дисковым пространством? Или мы должны сделать выбор между ними?