Is there any way to use pushd/popd commands within a Dockerfile? It'd make some install scripts I have a lot easier if it were possible.
It can be done but your image must have bash and all commands must be in the same RUN
directive:
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