作者:国际物流-Ann | 来源:互联网 | 2022-11-19 11:23
我的服务在运行时需要一些大文件(~100MB-500MB)这些文件可能会偶尔发生变化,我不介意重建我的容器并在发生时重新部署它.
我想知道什么是存储它并在构建期间使用它的最佳方式,因此团队中的任何人都可以更新容器并重建它.
到目前为止,我最好的想法是将这些大文件存储在git LFS中,用于每个版本的不同分支.这样我就可以将它添加到我的Dockerfile中:
RUN git clone -b 'version_2.0' --single-branch --depth 1 https://...git.git
这样,如果这些大文件发生变化,我只需要version_2.0
在Dockerfile中更改,然后重建.
还有其他推荐的方法吗?我考虑过将这些文件存储在Dropbox中,并wget
在构建期间使用链接获取它们
PS - 这些大文件是某些Deep-Network的权重
编辑 - 问题是在docker中存储大文件的合理方式,这样一个开发人员/团队可以更改文件和匹配代码,并且会记录(git)并且可以轻松地使用,甚至可以由其他团队部署(因此,只是本地PC上的大文件坏了,因为它需要发送给另一个团队)
1> VonC..:
这些文件可能会偶尔发生变化,我不介意重建我的容器并在发生时重新部署它.
然后源控件不是最适合这种工件.
二进制工件存储服务,如Nexus或Artifactory(两者都有免费版本,如果需要,还有自己的docker镜像)更适合这项任务.
从那里,您的Dockerfile可以从Nexus/Artifactory中获取您的大文件.
请参阅此处以获取正确的缓存和缓存失效.