Tho*_*mas 5 macos caching nuget .net-core dockerfile
在封锁区的一个新区域,我现在只能访问价格过高的 SIM 卡数据计划,我正在寻找一种方法来最小化带宽。
我有一个应用程序,它的构建有一个常规的 dockerfile,但它每次都会上线以恢复包。
我在 MacOS 上,构建过程不需要是可移植的。
由于我有一个本地 nuget 包缓存 (~/.nuget/packages),我想利用它并重新使用这些文件。
首先,我想指出从我的 IDE 进行发布并使用该结果不是这个项目的一个选项,我真的需要从源代码构建它。
也有许多关于直接或半相关情况的讨论和一些博客文章,但似乎都没有提出理想的解决方案。我做了相当广泛的搜索。如果您认为这是具有有效解决方案的现有帖子的副本,请仔细查看。
我看过的东西:
我目前正在看的是:
一个问题是我无法对 fsproj 依赖项进行硬编码,并且无法从 dockerfile 中找到所有项目文件。一篇博客文章提出了一个预处理过程,在该过程中找到文件、放入存档并在 dockerfile 中展开它。
在我开始走一些复杂的道路之前,有没有人尝试过解决这个问题?或者想出了一个很好的清洁解决方案?
编辑:
docker 不会访问指向构建目录之外的符号链接
一个建议是,如果你还没有研究过Docker BuildKit,我必须研究一下。BuildKit 添加了对 Dockerfile 挂载的支持。它支持各种类型的挂载,其中一种是针对这种具体场景的缓存- 构建缓存工件,例如 NuGet 包。
归档时间: |
|
查看次数: |
1773 次 |
最近记录: |