Reputation: 2178
I have setup an automated build on Docker hub here (the sources are here).
The build goes well locally. I have also tried to rebuild it with --no-cache
option:
docker build --no-cache .
And the process completes successfully
Successfully built 68b34a5f493a
However, the automated build fails on Docker hub with this error log:
...
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
This build apparently fails on the following vim command:
vim +PluginInstall +GoInstallBinaries +qall
Note that the warnings Output is not to a terminal
and Input is not to a terminal
appears also in the local build.
I cannot understand how this can happen. I am using a standard Ubuntu 14.04 system.
Upvotes: 4
Views: 1146
Reputation: 2178
I finally figured it out. The issue was related to this one.
I am using Docker 1.0 in my host machine, however a later version is in production in Docker Hub. Without the explicit ENV HOME=...
line in the Dockerfile, version 1.0 uses /
as home directory, while /root
is used by the later version. The result is that vim
was not able to find its .vimrc
file, since it was copied in /
instead of /root
. The solution I used is to explicitly define ENV HOME=/root
in my Dockerfile, so there are no differences between the two versions.
Upvotes: 3