先说结论,必须每台机器都安装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 就不能给报个错?!