2

我发现在我的 Ubuntu 14.04 主机中构建 docker 镜像和 Docker Hub 自动构建之间有一个奇怪的区别。

这是我的 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 hub:

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

注意不同的HOME目录:/root而不是/. 谁能解释我发生了什么?

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

$ 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
4

1 回答 1

3

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

于 2015-02-21T20:58:30.933 回答