$PWD n'est pas définie dans ENV instruction dans un Dockerfile

J'ai un Dockerfile commence comme ceci:

FROM ubuntu:16.04
WORKDIR /some/path
COPY . .
ENV PYTHONUSERBASE=$PWD/pyenv PATH=$PWD/pyenv/bin:$PATH
RUN echo "PWD is: $PWD"
RUN echo "PYENV is: $PYTHONUSERBASE"

J'ai trouvé $PWD (ou ${PWD}) n'a pas été fixée, quand je lance docker build, à titre de comparaison, $PATH a été correctement développée.

En outre, $PWD dans RUN a pas de problème (Il imprime /some/path dans ce cas)

La sortie de l'Dockerfile serait:

PWD is: /some/path
PYENV is: /pyenv

Quelqu'un pourrait me dire pourquoi $PWD est si spécial? J'imagine que ça peut être lié au comportement de WORKDIR mais je n'ai aucune idée à ce sujet.

OriginalL'auteur cherrot | 2017-06-09