先说结论,必须每台机器都安装git lfs
我在A实例上安装git lfs以后把Dockerfile和需要用到的模型文件都push到了git的repo上,就放心交给同事让他去在B实例上配置环境了。 一天过后他告诉我跑不通,我就很无语,这基本不可能啊。
先查log
基础的docker image是一个Kaldi的环境,Kaldi运行的时候报错多那是大家都知道的,但是这个我做的这个docker之前在A实例上能正常运行,所以现在跑不通就很诡异。
查了log文件以后发现是一个模型文件读取以后内容出错。那肯定是模型文件的问题了。就查了文件大小,果然原来70几M的文件,现在只有133B,那肯定是没下全啊 。但是git clone应该不至于失败了还看不出吧。
再试一次
B实例上重新创建一个文件夹,git clone再走一次,发现模型文件还是133B。真是见了鬼了,我在A实例上也git clone一次就没问题。
终于
终于怀疑到git了,问了同事知道不知道 git lfs用的时候有没有什么须知,答曰完全没看过。我一查发现B实例上压根没有装git lfs, 装完以后再试一次,模型文件大小一致了。 交给同事继续操作去了
总结
其实跟第一句一样,如果push的时候用了 git lfs, 那么一定要确保clone的机器上也有git lfs。
吐槽
猫了个咪的, git 就不能给报个错?!
博客作者分享了一次由于未在目标机器上安装GitLFS导致的问题。在A实例上创建并推送包含大文件的Dockerfile和模型文件到git后,同事在B实例上无法正常运行。经过排查日志和文件大小,发现模型文件下载不完整。最终发现B实例缺少GitLFS,安装后问题解决。总结强调,使用GitLFS时,克隆机器上必须同样安装GitLFS。

被折叠的 条评论
为什么被折叠?



