DockerfileのWORKDIRに$HOMEと書いても認識されない
環境
$docker --version Docker version 18.09.0, build 4d60db4
概要
DockerfileのWORKDIRはDockerfileのENVで定義された環境変数しか使えないので下記の2点を考慮する。
ドキュメント
https://docs.docker.com/engine/reference/builder/#workdir
You can only use environment variables explicitly set in the Dockerfile.
build結果
build失敗して気づくパターン
$HOME
単体ならbuild失敗して気づける
Dockerfile
FROM alpine WORKDIR $HOME
docker buildの結果
… Step 2/5 : WORKDIR $HOME cannot normalize nothing
build成功して気づかないパターン
定義されていない環境変数+パスが含まれているとbuild時に気づけないので注意
Dockerfile
FROM alpine WORKDIR $HOME/hoge RUN pwd
docker buildの結果
Step 3/3 : RUN pwd ---> Running in 81645314a99f /hoge Removing intermediate container 81645314a99f ---> 1f8259c44e59 Successfully built 1f8259c44e59