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

Different home directory during Docker build in Docker hub

我发现在我的 Ubuntu 14.04 主机中构建 docker 映像与 Docker Hub 自动构建之间存在奇怪的差异。

这是我的Docker文件:

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 hub:

---> 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 后合并。我已经构建了您提供的 Docker 文件,它显示 $HOME=/root(我使用 Docker v1.5.0)。检查 Docker Issue #2968 和相关提交以获取更多详细信息。