Products
GG网络技术分享 2025-10-27 02:48 1
multi-stage 许多阶段构建,是Docker在17.05版本引入的一项新鲜特性。它允许我们在一个Dockerfile中定义优良几个构建阶段,个个阶段能选择不同的基础镜像。

这种构建方式, 能让我们在构建过程中,只包含少许不了的文件和依赖,从而减细小镜像体积,搞优良构建效率。
Multi-Stage构建的原理,是通过在Dockerfile中定义优良几个FROM语句,来实现优良几个构建阶段的构建。
个个FROM语句都能指定一个不同的基础镜像,用于构建不同的阶段。
在构建完成后我们能选择将到头来的镜像层保存下来或者只保留需要的镜像层。
FROM golang:1.15 AS builder
WORKDIR /app
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app .
FROM alpine
COPY --from=builder /app/app .
CMD
这玩意儿示例中,我们定义了两个构建阶段。第一个阶段用golang:1.15镜像作为基础镜像,用于构建应用程序。第二个阶段用alpine镜像作为基础镜像,只包含运行应用程序所需的最细小文件。
Multi-Stage构建具有以下优势:
Multi-Stage构建是Docker的一项实用特性,能帮我们优化镜像构建过程,搞优良构建效率和睦安性。通过本文的介绍,相信巨大家对Multi-Stage构建有了更深厚入的了解。
欢迎用实际体验验证观点。
Demand feedback