Dockerfile で cd コマンドが効かなかったので対処。
現象
RUN cd /var/hoge/
RUN wget https://example.jp/hoge_package.tar.gz
RUN tar zxvf hoge_package.tar.gz
RUN cd hoge_package
という風に記述したところ、「hoge_package
はありません」という旨のエラーで怒られました。
原因
Dockerfile ではコマンドごとにコンテナを作るため、カレントディレクトリは常にルートになるとのことです。
対処
cd の後に \
でコマンドを繋げるという方法もありますが、今回は WORKDIR
で対処。
WORKDIR /var/hoge/
RUN wget https://example.jp/hoge_package.tar.gz
RUN tar zxvf hoge_package.tar.gz
WORKDIR hoge_package
これでOKです。