以下Dockerfile:
FROM ubuntu:12.10 RUN mkdir tmp123 RUN cd tmp123 RUN pwd
有输出:
Uploading context 10240 bytes Step 1 : FROM ubuntu:12.10 ---> b750fe79269d Step 2 : RUN mkdir tmp123 ---> Running in d2afac8a11b0 ---> 51e2bbbb5513 Step 3 : RUN cd tmp123 ---> Running in 4762147b207c ---> 644801121b92 Step 4 : RUN pwd ---> Running in 3ed1c0f1049d / ---> eee62a068585
构建时(docker build命令)
似乎RUN cd tmp123没有效果
为什么?
cre*_*ack 66
实际上是预期的.
dockerfile只不过是docker run + docker commit的包装器.
FROM ubuntu:12.10
RUN mkdir tmp123
RUN cd tmp123
RUN pwd
Run Code Online (Sandbox Code Playgroud)
与做同样的事情:
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)
Run Code Online (Sandbox Code Playgroud)
每次运行时,都会生成一个新容器,因此pwd为'/'.
如果您愿意,可以在github上打开一个问题,以便向Dockerfile添加CHDIR指令.
Lid*_*Guo 13
也许你可以试试这个; 我不确定,我不能尝试.如果它不起作用,我希望你不要贬低.
只是:
RUN 'cd tmp123 ; pwd'
Run Code Online (Sandbox Code Playgroud)
代替
RUN cd tmp123
RUN pwd
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37497 次 |
| 最近记录: |