Dockerfile中FROM指令后“as build”关键字的含义是什么?
Dockerfile中
as build的含义 as build是Docker多阶段构建特性里的阶段命名语法:
- 它给当前
FROM指令定义的构建阶段赋予了一个别名build,方便后续构建阶段直接引用这个阶段的镜像内容。 - 在后续的步骤中,你可以通过
COPY --from=build这类指令,把build阶段生成的文件(比如编译后的代码、依赖包)复制到新的镜像阶段里,无需单独保存或推送这个中间镜像。 - 这么做的核心好处是精简最终镜像体积:构建环境(比如这里的Node.js镜像)往往包含很多编译工具、依赖源等冗余内容,通过多阶段构建,你可以只把最终运行需要的产物拷贝到轻量的基础镜像中,大幅缩小镜像大小。
举个实际使用的例子:
# 构建阶段:命名为build,完成代码编译 FROM nexus.something.local:<my port>/v1/repositories/local_node:14.17.5 as build WORKDIR /app COPY package*.json ./ RUN npm install COPY . . RUN npm run build # 运行阶段:只取build阶段的编译产物,用轻量的nginx镜像 FROM nginx:stable-alpine COPY --from=build /app/dist /usr/share/nginx/html
内容的提问来源于stack exchange,提问作者Randall
相关产品推荐
相关产品推荐

