Docker集线器中Docker构build期间的不同主目录

我发现在我的Ubuntu 14.04主机和Docker Hub自动化版本之间build立docker镜像存在一个奇怪的区别。

这是我的Dockerfile:

FROM buildpack-deps:wheezy-scm RUN echo $HOME 

这是我的机器的输出:

  ---> 2afbec25f6f6 Step 1 : RUN echo $HOME ---> Running in 6074455e13c0 / ---> 0cb1b6141f93 Removing intermediate container 6074455e13c0 Successfully built 0cb1b6141f93 

而这个来自Docker集线器:

 ---> 2afbec25f6f6 Step 1 : RUN echo $HOME /root ---> 4c781d2d7d72 Successfully built 4c781d2d7d72 

注意不同的HOME目录: /root而不是/ 。 任何人都可以解释我发生了什么?

这是我的Docker版本(我已经安装了标准docker.io Ubuntu软件包):

 $ docker version Client version: 1.0.1 Client API version: 1.12 Go version (client): go1.2.1 Git commit (client): 990021a Server version: 1.0.1 Server API version: 1.12 Go version (server): go1.2.1 Git commit (server): 990021a 

实际上, $HOME发生了一些变化,在Docker版本v1.0之后,这些变化被合并了。 我已经构build了您提供的Dockerfile,它显示了$HOME=/root (我使用Docker v1.5.0 )。 检查Docker问题#2968和相关的提交以获取更多详细信息。