説明
RUN cd ...によるディレクトリの変更は、そのRUN内でのみ有効です。後続の命令でも同じ場所を使う場合は、WORKDIRで指定してください。1つの命令内で一時的に移動するためのcdは使用できます。
想定される影響
ディレクトリの変更が後続の命令にも引き継がれると考えると、別の場所でファイルを処理したり、ビルドに失敗したりするおそれがあります。
対処方法
継続して使う作業ディレクトリをWORKDIRの絶対パスで指定し、後続の命令の相対パスを確認してください。
例
作業ディレクトリの宣言を比較する例です。どちらのCOPYもコピー先が絶対パスなので、コピー先は変わりません。NGINX_IMAGEにはサポート対象のNGINXイメージ参照を指定してください。
変更前
dockerfile
ARG NGINX_IMAGE
FROM ${NGINX_IMAGE}
RUN cd /usr/share/nginx/html
COPY index.html /usr/share/nginx/html
変更後
dockerfile
ARG NGINX_IMAGE
FROM ${NGINX_IMAGE}
WORKDIR /usr/share/nginx/html
COPY index.html /usr/share/nginx/html