<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="630" viewBox="0 0 1200 630" role="img" aria-label="Docker镜像与容器关系示意图">
  <rect width="1200" height="630" fill="#f6fbff"/>
  <text x="60" y="72" font-size="34" font-family="Arial, Microsoft YaHei, sans-serif" font-weight="700" fill="#12315f">Docker镜像与容器关系</text>
  <text x="60" y="110" font-size="18" font-family="Arial, Microsoft YaHei, sans-serif" fill="#4e6487">Dockerfile构建镜像，镜像运行后成为容器实例，镜像仓库负责分发</text>
  <g font-family="Arial, Microsoft YaHei, sans-serif">
    <rect x="80" y="240" width="220" height="120" rx="20" fill="#ffffff" stroke="#2f6fed" stroke-width="3"/>
    <text x="120" y="305" font-size="28" font-weight="700" fill="#1e4fa3">Dockerfile</text>
    <text x="128" y="336" font-size="16" fill="#4e6487">构建脚本</text>
    <rect x="390" y="220" width="230" height="160" rx="22" fill="#eaf1ff" stroke="#2f6fed" stroke-width="3"/>
    <text x="460" y="292" font-size="30" font-weight="700" fill="#1e4fa3">Image</text>
    <text x="440" y="330" font-size="17" fill="#4e6487">应用与依赖模板</text>
    <rect x="720" y="160" width="210" height="100" rx="18" fill="#fff8e7" stroke="#ffc857" stroke-width="3"/>
    <text x="770" y="220" font-size="26" font-weight="700" fill="#8a5a00">Container A</text>
    <rect x="720" y="300" width="210" height="100" rx="18" fill="#fff8e7" stroke="#ffc857" stroke-width="3"/>
    <text x="770" y="360" font-size="26" font-weight="700" fill="#8a5a00">Container B</text>
    <rect x="720" y="440" width="210" height="100" rx="18" fill="#fff8e7" stroke="#ffc857" stroke-width="3"/>
    <text x="770" y="500" font-size="26" font-weight="700" fill="#8a5a00">Container C</text>
    <rect x="990" y="250" width="150" height="120" rx="20" fill="#e9fff6" stroke="#20a67a" stroke-width="3"/>
    <text x="1024" y="305" font-size="24" font-weight="700" fill="#117052">Registry</text>
    <text x="1020" y="337" font-size="16" fill="#4e6487">镜像仓库</text>
  </g>
  <path d="M300 300 L390 300" stroke="#5b77a8" stroke-width="5" marker-end="url(#arrow)"/>
  <path d="M620 300 C670 220 680 210 720 210" stroke="#5b77a8" stroke-width="4" fill="none" marker-end="url(#arrow)"/>
  <path d="M620 300 L720 350" stroke="#5b77a8" stroke-width="4" marker-end="url(#arrow)"/>
  <path d="M620 300 C670 465 690 490 720 490" stroke="#5b77a8" stroke-width="4" fill="none" marker-end="url(#arrow)"/>
  <path d="M620 300 L990 310" stroke="#20a67a" stroke-width="4" stroke-dasharray="10 8" marker-end="url(#greenArrow)"/>
  <defs><marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><path d="M0,0 L12,6 L0,12 z" fill="#5b77a8"/></marker><marker id="greenArrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto"><path d="M0,0 L12,6 L0,12 z" fill="#20a67a"/></marker></defs>
</svg>
