gpt4 book ai didi

git - 在构建期间向 docker 添加大文件

转载 作者:IT老高 更新时间:2023-10-28 21:34:07 26 4
gpt4 key购买 nike

我的服务在运行时需要一些大文件 (~ 100MB-500MB)这些文件可能会偶尔更改一次,我不介意重建我的容器并在它发生时重新部署它。

我想知道在构建过程中存储和使用它的最佳方式是什么,以便团队中的任何人都可以更新容器并重新构建它。

到目前为止,我最好的想法是将这些大文件存储在 git LFS 中的每个版本的不同分支中。这样我就可以将它添加到我的 Dockerfile 中:

RUN git clone -b 'version_2.0' --single-branch --depth 1 https://...git.git

这样,如果这些大文件发生变化,我只需要更改Dockerfile中的version_2.0,然后重新构建即可。

还有其他推荐的方法吗?我考虑将这些文件存储在 Dropbox 中,并在构建期间使用 wget 链接获取它们

P.S - 这些大文件是一些深度网络的权重

编辑 - 问题是在 docker 中存储大文件的合理方法是什么,这样一个开发人员/团队可以更改文件和匹配的代码,并且它将被记录(git)并且可以轻松使用甚至部署由另一个团队(因此,本地 PC 上的大文件很糟糕,因为它需要发送给另一个团队)

最佳答案

These files might change once in a while, and I don't mind to rebuild my container and re-deploy it when it happens.

那么源代码管理不是最适合此类工件的。

二进制工件存储服务,如 NexusArtifactory (两者都有免费版本,如果您需要,也有自己的 docker 镜像)更适合这项任务。

从那里,您的 Dockerfile 可以从 Nexus/Artifactory 获取您的大文件。
见这里proper caching and cache invalidation .

关于git - 在构建期间向 docker 添加大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54479271/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com