I have many stages in my Dockerfile. Now in every stage I have copy/pasted #WORKDIR $PYSETUP_PATH
:
FROM base as buidler
WORKDIR $PYSETUP_PATH
FROM buidler as test
WORKDIR $PYSETUP_PATH
FROM buidler as deploy
WORKDIR $PYSETUP_PATH
How can I reduce this boilerplate code and set WORKDIR
only once globally?
What I want:
WORKDIR = $MY_DEFAULT_WORDIR # Set globally for every stage
FROM base as buidler
FROM buidler as test
FROM buidler as deploy
A FROM
line inherits almost all of the settings from its base image, including its WORKDIR
. Since your later stages derive from the first stage you only need to include WORKDIR
in the base stage.
FROM base AS builder
WORKDIR /app
FROM builder AS test
# already in /app directory
FROM builder AS deploy
# already in /app directory