如何在Dockerfile中引用目标构建阶段?是否有官方支持方案?
Dockerfile中引用--target指定的构建阶段名称
Docker目前没有官方内置的变量或机制,可以直接在Dockerfile内部引用docker build --target参数指定的构建阶段名称。
目前可行的方案就是你正在使用的手动同步ARG参数的方式,具体步骤如下:
- 在Dockerfile中声明对应的ARG参数:
ARG TARGET_BUILD_STAGE FROM base AS build WORKDIR /${TARGET_BUILD_STAGE} # 后续构建步骤
- 构建时同时指定
--target和对应的--build-arg参数,确保两者值一致:
docker build --target production --build-arg TARGET_BUILD_STAGE=production .
这种方式虽然需要重复传入相同的值,但目前是最可靠的实现方式,Docker官方暂未提供更直接的内置支持。
内容的提问来源于stack exchange,提问作者goodonion
相关产品推荐
相关产品推荐

