<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="675" viewBox="0 0 1200 675">
  <rect width="1200" height="675" fill="#f5f7fa"/>
  <text x="70" y="74" font-size="34" font-weight="700" fill="#1f2d3d">镜像构建缓存分层模型</text>
  <text x="70" y="112" font-size="18" fill="#65758a">稳定层靠前，变化层靠后，减少依赖层重复执行</text>
  <g transform="translate(250 165)">
    <rect x="0" y="360" width="700" height="72" rx="14" fill="#1f77b4"/>
    <rect x="55" y="285" width="590" height="72" rx="14" fill="#2ca02c"/>
    <rect x="110" y="210" width="480" height="72" rx="14" fill="#ffbf00"/>
    <rect x="165" y="135" width="370" height="72" rx="14" fill="#ff7f0e"/>
    <rect x="220" y="60" width="260" height="72" rx="14" fill="#d62728"/>
    <text x="295" y="405" font-size="24" fill="#fff">基础镜像层</text>
    <text x="260" y="330" font-size="24" fill="#fff">系统依赖层</text>
    <text x="250" y="255" font-size="24" fill="#1f2d3d">语言依赖层</text>
    <text x="255" y="180" font-size="24" fill="#fff">源码复制层</text>
    <text x="285" y="105" font-size="24" fill="#fff">构建产物层</text>
  </g>
  <text x="120" y="610" font-size="22" fill="#1f2d3d">优化重点：把变化频率低的依赖层放在源码层之前，提高缓存命中率</text>
</svg>