以下Dockerfile:
来自ubuntu:12.10 运行mkdir tmp123 运行cd tmp123 运行密码
具有输出:
上传上下文10240字节 第1步:从ubuntu:12.10 ---> b750fe79269d 第2步:运行mkdir tmp123 --->在d2afac8a11b0中运行 ---> 51e2bbbb5513 步骤3:运行cd tmp123 --->在4762147b207c中运行 ---> 644801121b92 步骤4:执行密码 --->在3ed1c0f1049d中运行 / ---> eee62a068585
构建时(docker build命令)
看来RUN cd tmp123没有任何作用
为什么呢?
实际上是预期的。
泊坞窗文件不过是docker run + docker commit的包装器。
FROM ubuntu:12.10 RUN mkdir tmp123 RUN cd tmp123 RUN pwd
与做相同的事情:
CID=$(docker run ubuntu:12.10 mkdir tmp123); ID=$(docker commit $CID) CID=$(docker run $ID cd tmp123); ID=$(docker commit $CID) CID=$(docker run $ID pwd); ID=$(docker commit $CID)
每次运行时,都会生成一个新容器,因此pwd为’/’。
如果您愿意,可以在github上打开一个问题,以便向Dockerfile添加CHDIR指令。