2021-12-17に投稿

Dockerfile で cd が効かない

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です。

参考

Originally published at labor.ewigleere.net
ツイッターでシェア
みんなに共有、忘れないようにメモ

arm-band

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント