mbrt
mbrt

Reputation: 2178

Docker hub automated build fails but locally does not

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

Answers (1)

mbrt
mbrt

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

Related Questions