Docker 集线器自动构建失败但本地不会

Docker hub automated build fails but locally does not

我已经在 Docker 集线器 here (the sources are here) 上设置了自动构建。

构建在本地运行良好。我还尝试使用 --no-cache 选项重建它:

docker build --no-cache .

过程成功完成

Successfully built 68b34a5f493a

但是,自动构建在 Docker 集线器上失败并显示以下错误日志:

...
Cloning into 'nerdtree'...
[91mVim: Warning: Output is not to a terminal
[0m
[91mVim: Warning: Input is not from a terminal
[0m
[m[m[0m[H[2J[24;1HError detected while processing command line:
E492: Not an editor command: PluginInstall
E492: Not an editor command: GoInstallBinaries
[91mmv: cannot stat `/go/bin/*': No such file or directory
[0m

此构建显然在以下 vim 命令上失败:

vim +PluginInstall +GoInstallBinaries +qall

请注意警告 Output is not to a terminalInput is not to a terminal 也出现在本地构建中。

我不明白这是怎么发生的。我使用的是标准 Ubuntu 14.04 系统。

我终于明白了。该问题与 .

有关

我在我的主机上使用 Docker 1.0,但是 Docker Hub 中正在生产更高版本。 Docker 文件中没有显式的 ENV HOME=... 行,1.0 版使用 / 作为主目录,而更高版本使用 /root。结果是 vim 无法找到它的 .vimrc 文件,因为它是在 / 而不是 /root 中复制的。我使用的解决方案是在我的Docker文件中明确定义ENV HOME=/root,所以两个版本之间没有区别。