是否可以在Dockerfile中使用推入/弹出命令?如果可以的话,这会使我的安装脚本变得容易得多。
答案 0 :(得分:1)
可以这样做,但是您的映像必须具有bash并且所有命令必须在相同的RUN
指令中:
Dockerfile
FROM debian
RUN mkdir -p /test/dir1/dir2
RUN bash -xc "\
pushd /test/dir1; \
pwd; \
pushd dir2; \
pwd; \
popd; \
pwd; \
"
RUN pwd
Sending build context to Docker daemon 77.25MB Step 1/4 : FROM debian ---> 2d337f242f07 Step 2/4 : RUN mkdir -p /test/dir1/dir2 ---> Using cache ---> d609d5e33b08 Step 3/4 : RUN bash -xc "pushd /test/dir1; pwd; pushd dir2; pwd; popd; pwd; " ---> Running in 79aa21ebdd15 + pushd /test/dir1 + pwd + pushd dir2 + pwd + popd + pwd /test/dir1 / /test/dir1 /test/dir1/dir2 /test/dir1 / /test/dir1/dir2 /test/dir1 / /test/dir1 Removing intermediate container 79aa21ebdd15 ---> fb1a07d6e342 Step 4/4 : RUN pwd ---> Running in 9dcb064b36bb / Removing intermediate container 9dcb064b36bb ---> eb43f6ed241a Successfully built eb43f6ed241a Successfully tagged test:latest