Files
docker-workshop/docker-konzepte.svg
Frank Woeckener 21ed8ddda6 Initial Commit
2025-03-18 09:20:35 +01:00

146 lines
18 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 837 683">
<rect width="837.871" height="682.975" fill="#f5f5f5" x="-0.383" y="-0.271" style=""/>
<rect x="18.715" y="19.195" width="800" height="647.262" rx="10" ry="10" fill="#e9f0f5" stroke="#2496ed" stroke-width="2" style=""/>
<text x="38.715" y="49.195" font-family="Arial" font-size="18" font-weight="bold" fill="#333" style="white-space: pre; font-size: 18px;">Docker Host</text>
<rect x="39.007" y="69.11" width="760" height="490" rx="8" ry="8" fill="#f0f7fa" stroke="#2496ed" stroke-width="2" stroke-dasharray="5,5"/>
<text x="58.715" y="99.195" font-family="Arial" font-size="16" font-weight="bold" fill="#333" style="white-space: pre; font-size: 16px;">Docker Engine</text>
<rect x="318.715" y="109.195" width="160" height="110" rx="5" ry="5" fill="#2496ed" stroke="#1e88e5" stroke-width="2"/>
<text x="398.715" y="134.195" font-family="Arial" font-size="14" font-weight="bold" fill="white" text-anchor="middle" style="white-space: pre; font-size: 14px;">Docker Daemon</text>
<rect x="333.715" y="144.195" width="130" height="25" rx="3" ry="3" fill="#1a75bb" stroke="#1e88e5" stroke-width="1"/>
<text x="398.715" y="161.195" font-family="Arial" font-size="11" fill="white" text-anchor="middle" style="white-space: pre; font-size: 11px;">containerd</text>
<rect x="333.715" y="174.195" width="130" height="25" rx="3" ry="3" fill="#1a75bb" stroke="#1e88e5" stroke-width="1"/>
<text x="398.715" y="191.195" font-family="Arial" font-size="11" fill="white" text-anchor="middle" style="white-space: pre; font-size: 11px;">runc</text>
<rect x="58.715" y="109.195" width="160" height="110" rx="5" ry="5" fill="#2496ed" stroke="#1e88e5" stroke-width="2"/>
<text x="138.715" y="134.195" font-family="Arial" font-size="14" font-weight="bold" fill="white" text-anchor="middle" style="white-space: pre; font-size: 14px;">Docker Client</text>
<rect x="73.715" y="144.195" width="130" height="25" rx="3" ry="3" fill="#1a75bb" stroke="#1e88e5" stroke-width="1"/>
<text x="138.715" y="161.195" font-family="Arial" font-size="11" fill="white" text-anchor="middle" style="white-space: pre; font-size: 11px;">CLI (docker)</text>
<rect x="73.715" y="174.195" width="130" height="25" rx="3" ry="3" fill="#1a75bb" stroke="#1e88e5" stroke-width="1"/>
<text x="138.715" y="191.195" font-family="Arial" font-size="11" fill="white" text-anchor="middle" style="white-space: pre; font-size: 11px;">docker-compose</text>
<rect x="588.715" y="109.195" width="160" height="110" rx="5" ry="5" fill="#2496ed" stroke="#1e88e5" stroke-width="2"/>
<text x="668.715" y="134.195" font-family="Arial" font-size="14" font-weight="bold" fill="white" text-anchor="middle" style="white-space: pre; font-size: 14px;">Docker Registry</text>
<rect x="603.715" y="144.195" width="130" height="25" rx="3" ry="3" fill="#1a75bb" stroke="#1e88e5" stroke-width="1"/>
<text x="668.715" y="161.195" font-family="Arial" font-size="11" fill="white" text-anchor="middle" style="white-space: pre; font-size: 11px;">Docker Hub</text>
<rect x="603.715" y="174.195" width="130" height="25" rx="3" ry="3" fill="#1a75bb" stroke="#1e88e5" stroke-width="1"/>
<text x="668.715" y="191.195" font-family="Arial" font-size="11" fill="white" text-anchor="middle" style="white-space: pre; font-size: 11px;">Private Registry</text>
<rect x="118.715" y="264.195" width="160" height="110" rx="5" ry="5" fill="#3fe0d0" stroke="#1e88e5" stroke-width="2"/>
<text x="198.715" y="284.195" font-family="Arial" font-size="14" font-weight="bold" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 14px;">Images</text>
<rect x="133.715" y="294.195" width="130" height="20" rx="3" ry="3" fill="#2ed1c3" stroke="#1e88e5" stroke-width="1"/>
<text x="198.715" y="308.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Basis-Layer (OS)</text>
<rect x="133.715" y="314.195" width="130" height="20" rx="3" ry="3" fill="#2ed1c3" stroke="#1e88e5" stroke-width="1"/>
<text x="198.715" y="328.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Anwendungs-Layer</text>
<rect x="133.715" y="334.195" width="130" height="20" rx="3" ry="3" fill="#2ed1c3" stroke="#1e88e5" stroke-width="1"/>
<text x="198.715" y="348.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Konfiguration</text>
<rect x="348.715" y="264.195" width="160" height="110" rx="5" ry="5" fill="#3fe0d0" stroke="#1e88e5" stroke-width="2"/>
<text x="428.715" y="284.195" font-family="Arial" font-size="14" font-weight="bold" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 14px;">Container</text>
<rect x="363.715" y="294.195" width="130" height="20" rx="3" ry="3" fill="#2ed1c3" stroke="#1e88e5" stroke-width="1"/>
<text x="428.715" y="308.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Created → Running</text>
<rect x="363.715" y="314.195" width="130" height="20" rx="3" ry="3" fill="#2ed1c3" stroke="#1e88e5" stroke-width="1"/>
<text x="428.715" y="328.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Paused / Stopped</text>
<rect x="363.715" y="334.195" width="130" height="20" rx="3" ry="3" fill="#2ed1c3" stroke="#1e88e5" stroke-width="1"/>
<text x="428.715" y="348.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Exited → Removed</text>
<rect x="578.715" y="264.195" width="160" height="110" rx="5" ry="5" fill="#3fe0d0" stroke="#1e88e5" stroke-width="2"/>
<text x="658.715" y="284.195" font-family="Arial" font-size="14" font-weight="bold" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 14px;">Docker Compose</text>
<rect x="593.715" y="294.195" width="130" height="20" rx="3" ry="3" fill="#2ed1c3" stroke="#1e88e5" stroke-width="1"/>
<text x="658.715" y="308.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Multi-Services</text>
<rect x="593.715" y="314.195" width="130" height="20" rx="3" ry="3" fill="#2ed1c3" stroke="#1e88e5" stroke-width="1"/>
<text x="658.715" y="328.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Abhängigkeiten</text>
<rect x="593.715" y="334.195" width="130" height="20" rx="3" ry="3" fill="#2ed1c3" stroke="#1e88e5" stroke-width="1"/>
<text x="658.715" y="348.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">YAML-Konfiguration</text>
<rect x="118.715" y="419.195" width="160" height="110" rx="5" ry="5" fill="#ffcc80" stroke="#ff9800" stroke-width="2"/>
<text x="198.715" y="439.195" font-family="Arial" font-size="14" font-weight="bold" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 14px;">Volumes</text>
<rect x="133.715" y="449.195" width="130" height="20" rx="3" ry="3" fill="#ffb74d" stroke="#ff9800" stroke-width="1"/>
<text x="198.715" y="463.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Named Volumes</text>
<rect x="133.715" y="469.195" width="130" height="20" rx="3" ry="3" fill="#ffb74d" stroke="#ff9800" stroke-width="1"/>
<text x="198.715" y="483.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Bind Mounts</text>
<rect x="133.715" y="489.195" width="130" height="20" rx="3" ry="3" fill="#ffb74d" stroke="#ff9800" stroke-width="1"/>
<text x="198.715" y="503.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">tmpfs Mounts</text>
<rect x="348.715" y="419.195" width="160" height="110" rx="5" ry="5" fill="#ffcc80" stroke="#ff9800" stroke-width="2"/>
<text x="428.715" y="439.195" font-family="Arial" font-size="14" font-weight="bold" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 14px;">Networks</text>
<rect x="363.715" y="449.195" width="130" height="20" rx="3" ry="3" fill="#ffb74d" stroke="#ff9800" stroke-width="1"/>
<text x="428.715" y="463.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Bridge Network</text>
<rect x="363.715" y="469.195" width="130" height="20" rx="3" ry="3" fill="#ffb74d" stroke="#ff9800" stroke-width="1"/>
<text x="428.715" y="483.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Host Network</text>
<rect x="363.715" y="489.195" width="130" height="20" rx="3" ry="3" fill="#ffb74d" stroke="#ff9800" stroke-width="1"/>
<text x="428.715" y="503.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Overlay Network</text>
<rect x="578.715" y="419.195" width="160" height="110" rx="5" ry="5" fill="#ffcc80" stroke="#ff9800" stroke-width="2"/>
<text x="658.715" y="439.195" font-family="Arial" font-size="14" font-weight="bold" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 14px;">Sicherheit</text>
<rect x="593.715" y="449.195" width="130" height="20" rx="3" ry="3" fill="#ffb74d" stroke="#ff9800" stroke-width="1"/>
<text x="658.715" y="463.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Namespaces</text>
<rect x="593.715" y="469.195" width="130" height="20" rx="3" ry="3" fill="#ffb74d" stroke="#ff9800" stroke-width="1"/>
<text x="658.715" y="483.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Cgroups</text>
<rect x="593.715" y="489.195" width="130" height="20" rx="3" ry="3" fill="#ffb74d" stroke="#ff9800" stroke-width="1"/>
<text x="658.715" y="503.195" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 10px;">Capabilities</text>
<rect x="118.715" y="229.195" width="160" height="30" rx="5" ry="5" fill="#fff" stroke="#555" stroke-width="2"/>
<text x="198.715" y="249.195" font-family="Arial" font-size="14" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 14px;">Dockerfile</text>
<rect x="578.715" y="229.195" width="160" height="30" rx="5" ry="5" fill="#fff" stroke="#555" stroke-width="2"/>
<text x="658.715" y="249.195" font-family="Arial" font-size="14" fill="#333" text-anchor="middle" style="white-space: pre; font-size: 14px;">docker-compose.yml</text>
<path d="M 218.715 159.195 L 317.199 159.195" stroke="#555" stroke-width="2" fill="none" style=""/>
<polygon points="313.715 154.195 318.715 159.195 313.715 164.195" fill="#555"/>
<text x="268.715" y="151.195" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">REST API</text>
<path d="M 479.799 158.678 L 586.175 158.678" stroke="#555" stroke-width="2" fill="none" style=""/>
<polygon points="583.715 154.195 588.715 159.195 583.715 164.195" fill="#555"/>
<text x="533.715" y="151.195" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">pull/push</text>
<path d="M 398.715 219.195 L 278.834 265.513" stroke="#555" stroke-width="2" fill="none" style=""/>
<polygon points="203.715 259.195 198.715 264.195 193.715 259.195" fill="#555"/>
<text x="389.78" y="242.713" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">verwaltet</text>
<path d="M 278.715 319.195 L 346.13 319.195" stroke="#555" stroke-width="2" fill="none" style=""/>
<polygon points="343.715 314.195 348.715 319.195 343.715 324.195" fill="#555"/>
<text x="313.715" y="309.195" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">erzeugt</text>
<path d="M 578.715 319.195 L 512.072 319.195" stroke="#555" stroke-width="2" fill="none" style=""/>
<polygon points="513.715 314.195 508.715 319.195 513.715 324.195" fill="#555"/>
<text x="543.715" y="309.195" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">orchestriert</text>
<path d="M 368.715 374.195 L 198.563 415.423" stroke="#555" stroke-width="2" fill="none" style=""/>
<polygon points="203.715 414.195 198.715 419.195 193.715 414.195" fill="#555"/>
<text x="260.181" y="394.395" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">nutzt</text>
<path d="M 428.715 374.195 L 428.715 416.195" stroke="#555" stroke-width="2" fill="none" style=""/>
<polygon points="423.715 414.195 428.715 419.195 433.715 414.195" fill="#555"/>
<text x="390.963" y="401.755" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">kommuniziert</text>
<path d="M 488.715 374.195 L 618.61 415.313" stroke="#555" stroke-width="2" fill="none" style=""/>
<polygon points="613.715 414.195 618.715 419.195 623.715 414.195" fill="#555"/>
<text x="589.381" y="397.688" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">isoliert</text>
<polygon points="273.715 263.195 278.715 268.195 283.715 263.195" fill="#555" style="transform-box: fill-box; transform-origin: 50% 50%;" transform="matrix(0.5, 0.866025, -0.866025, 0.5, -0.000004, -0.00001)"/>
<text x="100.812" y="254.639" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">baut</text>
<polygon points="654.749 258.636 659.749 263.636 664.749 258.636" fill="#555"/>
<text x="545.599" y="248.112" font-family="Arial" font-size="10" fill="#555" text-anchor="middle" style="white-space: pre; font-size: 10px;">konfiguriert</text>
<g transform="matrix(1, 0, 0, 1, 58.715195, 539.19519)">
<rect width="300" height="25" rx="5" ry="5" fill="#e0e0e0" stroke="#555" stroke-width="1"/>
<text x="150" y="17" font-family="Arial" font-size="12" fill="#333" text-anchor="middle" style="white-space: pre;">Multi-Stage Build Prozess</text>
<rect x="10" y="30" width="80" height="20" rx="3" ry="3" fill="#d4d4d4" stroke="#555" stroke-width="1"/>
<text x="50" y="44" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre;">Build Stage</text>
<rect x="110" y="30" width="80" height="20" rx="3" ry="3" fill="#d4d4d4" stroke="#555" stroke-width="1"/>
<text x="150" y="44" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre;">Test Stage</text>
<rect x="210" y="30" width="80" height="20" rx="3" ry="3" fill="#d4d4d4" stroke="#555" stroke-width="1"/>
<text x="250" y="44" font-family="Arial" font-size="10" fill="#333" text-anchor="middle" style="white-space: pre;">Prod Stage</text>
<path d="M90 40 L110 40" stroke="#555" stroke-width="1" fill="none"/>
<polygon points="105,37 110,40 105,43" fill="#555"/>
<path d="M190 40 L210 40" stroke="#555" stroke-width="1" fill="none"/>
<polygon points="205,37 210,40 205,43" fill="#555"/>
</g>
<g transform="matrix(1, 0, 0, 1, 418.71521, 539.19519)">
<rect width="350" height="25" rx="5" ry="5" fill="#e0e0e0" stroke="#555" stroke-width="1"/>
<text x="175" y="17" font-family="Arial" font-size="12" fill="#333" text-anchor="middle" style="white-space: pre;">Container vs. VM Architektur</text>
<rect x="20" y="30" width="120" height="15" rx="2" ry="2" fill="#2496ed" stroke="#555" stroke-width="1"/>
<text x="80" y="41" font-family="Arial" font-size="9" fill="white" text-anchor="middle" style="white-space: pre;">Container</text>
<rect x="20" y="45" width="120" height="15" rx="2" ry="2" fill="#2496ed" stroke="#555" stroke-width="1"/>
<text x="80" y="56" font-family="Arial" font-size="9" fill="white" text-anchor="middle" style="white-space: pre;">Container</text>
<rect x="20" y="60" width="120" height="15" rx="2" ry="2" fill="#1a75bb" stroke="#555" stroke-width="1"/>
<text x="80" y="71" font-family="Arial" font-size="9" fill="white" text-anchor="middle" style="white-space: pre;">Docker Engine</text>
<rect x="20" y="75" width="120" height="15" rx="2" ry="2" fill="#ccc" stroke="#555" stroke-width="1"/>
<text x="80" y="86" font-family="Arial" font-size="9" fill="#333" text-anchor="middle" style="white-space: pre;">Host OS Kernel</text>
<rect x="20" y="90" width="120" height="15" rx="2" ry="2" fill="#aaa" stroke="#555" stroke-width="1"/>
<text x="80" y="101" font-family="Arial" font-size="9" fill="#333" text-anchor="middle" style="white-space: pre;">Infrastruktur</text>
<rect x="210" y="30" width="120" height="15" rx="2" ry="2" fill="#85c47c" stroke="#555" stroke-width="1"/>
<text x="270" y="41" font-family="Arial" font-size="9" fill="#333" text-anchor="middle" style="white-space: pre;">App</text>
<rect x="210" y="45" width="120" height="15" rx="2" ry="2" fill="#85c47c" stroke="#555" stroke-width="1"/>
<text x="270" y="56" font-family="Arial" font-size="9" fill="#333" text-anchor="middle" style="white-space: pre;">Gast OS</text>
<rect x="210" y="60" width="120" height="15" rx="2" ry="2" fill="#76b96c" stroke="#555" stroke-width="1"/>
<text x="270" y="71" font-family="Arial" font-size="9" fill="#333" text-anchor="middle" style="white-space: pre;">Hypervisor</text>
<rect x="210" y="75" width="120" height="15" rx="2" ry="2" fill="#ccc" stroke="#555" stroke-width="1"/>
<text x="270" y="86" font-family="Arial" font-size="9" fill="#333" text-anchor="middle" style="white-space: pre;">Host OS</text>
<rect x="210" y="90" width="120" height="15" rx="2" ry="2" fill="#aaa" stroke="#555" stroke-width="1"/>
<text x="270" y="101" font-family="Arial" font-size="9" fill="#333" text-anchor="middle" style="white-space: pre;">Infrastruktur</text>
<text x="80" y="115" font-family="Arial" font-size="10" font-weight="bold" fill="#333" text-anchor="middle" style="white-space: pre;">Docker Container</text>
<text x="270" y="115" font-family="Arial" font-size="10" font-weight="bold" fill="#333" text-anchor="middle" style="white-space: pre;">Virtuelle Maschine</text>
</g>
</svg>