Ich habe ein Dockerfile wie folgt beginnt:
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"
fand ich $PWD
(oder ${PWD}
) wurde nicht festgelegt, wenn ich docker build
laufen, wie ein Vergleich, $PATH
wurde richtig erweitert
Außerdem $PWD
in RUN
hat kein Problem (Er druckt /some/path
in diesem Fall)
So ist die Ausgabe des gegebenen Dockerfile wäre:
PWD is: /some/path
PYENV is: /pyenv
Könnte mir jemand sagen, warum $PWD
so besonders ist, ? Ich schätze, es könnte mit dem Verhalten von WORKDIR
zusammenhängen, aber ich habe keine Ahnung davon.
So Docker legt Arbeitsverzeichnis für jede RUN, CMD, ENTRYPOINT, COPY und ADD Anweisungen, aber nicht ENV, richtig? – cherrot
Ich habe es wieder gelesen. Ich habe die Frage missverstanden. Lass es mich reparieren – Robert
Danke @Robert! – cherrot