<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>DevOps - Tag - 编程心语</title>
        <link>https://www.ithome.me/tags/devops/</link>
        <description>DevOps - Tag - 编程心语</description>
        <generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Thu, 11 Jun 2026 00:00:00 &#43;0000</lastBuildDate><atom:link href="https://www.ithome.me/tags/devops/" rel="self" type="application/rss+xml" /><item>
    <title>Docker多阶段构建实战：优化镜像大小与构建速度的完整指南</title>
    <link>https://www.ithome.me/post/2026/06/11/docker%E5%A4%9A%E9%98%B6%E6%AE%B5%E6%9E%84%E5%BB%BA%E5%AE%9E%E6%88%98-%E4%BC%98%E5%8C%96%E9%95%9C%E5%83%8F%E5%A4%A7%E5%B0%8F%E4%B8%8E%E6%9E%84%E5%BB%BA%E9%80%9F%E5%BA%A6/</link>
    <pubDate>Thu, 11 Jun 2026 00:00:00 &#43;0000</pubDate>
    <author>Simon</author>
    <guid>https://www.ithome.me/post/2026/06/11/docker%E5%A4%9A%E9%98%B6%E6%AE%B5%E6%9E%84%E5%BB%BA%E5%AE%9E%E6%88%98-%E4%BC%98%E5%8C%96%E9%95%9C%E5%83%8F%E5%A4%A7%E5%B0%8F%E4%B8%8E%E6%9E%84%E5%BB%BA%E9%80%9F%E5%BA%A6/</guid>
    <description><![CDATA[前言 在日常开发中，你是否遇到过这样的问题：
Docker 镜像动辄几个 GB，拉取部署要等好几分钟 每次构建都要重新安装所有依赖，CI/CD 流水线慢得让人抓狂 构建环境和运行环境混在一起，镜像里塞了大量不需要的工具 这些问题的根源在于：构建产物和运行环境没有分离。Docker 的多阶段构建（Multi-stage Build）正是为解决这一痛点而生的利器。本文将通过三个真实语言栈的案例，带你掌握这一核心技术。
什么是多阶段构建？ 多阶段构建的核心思想非常简单：一个 Dockerfile 中使用多个 FROM 指令，每个阶段只保留最终需要的文件。
1 2 3 4 5 6 7 8 阶段1（构建阶段） 阶段2（运行阶段） ┌─────────────────┐ ┌─────────────────┐ │ FROM ubuntu │ │ FROM alpine │ │ 安装JDK/Maven │ ──→ │ 只复制JAR包 │ │ 编译代码 │ │ 运行应用 │ │ 生成产物 │ │ │ │ (~800MB) │ │ (~200MB) │ └─────────────────┘ └─────────────────┘ 箭头表示只复制构建产物（如二进制文件、编译结果），而非整个构建环境。
案例一：Java Spring Boot 应用 Spring Boot 应用是最典型的受益场景。传统方式用 openjdk:17 基础镜像，最终镜像通常在 500MB 以上。]]></description>
</item>
</channel>
</rss>
