Docker多阶段构建:如何在每个阶段全球设置WorkDir?
我的Dockerfile有很多阶段。现在,在每个阶段,我都有复制/粘贴#workdir $ pysetup_path
:
FROM base as buidler
WORKDIR $PYSETUP_PATH
FROM buidler as test
WORKDIR $PYSETUP_PATH
FROM buidler as deploy
WORKDIR $PYSETUP_PATH
如何减少此样板代码并设置workdir
全球一次?
我想要的:
WORKDIR = $MY_DEFAULT_WORDIR # Set globally for every stage
FROM base as buidler
FROM buidler as test
FROM buidler as deploy
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
line a
线从其基本图像继承了几乎所有设置,包括其
workdir
。由于您的后期阶段来自第一阶段,因此您只需要在基本阶段中包括WorkDir
。A
FROM
line inherits almost all of the settings from its base image, including itsWORKDIR
. Since your later stages derive from the first stage you only need to includeWORKDIR
in the base stage.