Files
lab-console-docker/doc/assets/docker-model.svg
T
2026-07-21 18:20:10 +02:00

27 lines
2.9 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" width="640" height="299" viewBox="0 0 640 299" role="img" aria-labelledby="title desc">
<title id="title">Model obrazu, kontenera i danych</title>
<desc id="desc">Dockerfile buduje niezmienny obraz. Obraz uruchamia kontener, który przechodzi przez stany running, exited i removed. Volume i bind mount żyją niezależnie od kontenera.</desc>
<defs>
<marker id="arrow" markerWidth="10" markerHeight="10" refX="8" refY="3" orient="auto"><path d="M0,0 L0,6 L9,3 z" fill="#334155"/></marker>
<style>
.box{fill:#f8fafc;stroke:#334155;stroke-width:3;rx:18}.accent{fill:#dbeafe;stroke:#2563eb}.data{fill:#dcfce7;stroke:#16a34a}.state{fill:#fef3c7;stroke:#d97706}.t{font:700 27px sans-serif;fill:#0f172a}.s{font:20px sans-serif;fill:#334155}.a{stroke:#334155;stroke-width:4;fill:none;marker-end:url(#arrow)}.d{stroke:#16a34a;stroke-width:4;stroke-dasharray:10 8;fill:none;marker-end:url(#arrow)}
</style>
</defs>
<g transform="scale(0.533333 0.533929)">
<rect width="1200" height="560" fill="white"/>
<rect class="box" x="45" y="70" width="210" height="110"/><text class="t" x="150" y="115" text-anchor="middle">Dockerfile</text><text class="s" x="150" y="150" text-anchor="middle">kontekst build</text>
<path class="a" d="M255 125 H355"/><text class="s" x="305" y="105" text-anchor="middle">build</text>
<rect class="box accent" x="355" y="70" width="240" height="110"/><text class="t" x="475" y="115" text-anchor="middle">IMAGE</text><text class="s" x="475" y="150" text-anchor="middle">tag + digest</text>
<path class="a" d="M595 125 H695"/><text class="s" x="645" y="105" text-anchor="middle">run</text>
<rect class="box state" x="695" y="70" width="240" height="110"/><text class="t" x="815" y="115" text-anchor="middle">CONTAINER</text><text class="s" x="815" y="150" text-anchor="middle">running</text>
<path class="a" d="M815 180 V250"/><text class="s" x="840" y="225">stop</text>
<rect class="box state" x="695" y="250" width="240" height="90"/><text class="t" x="815" y="305" text-anchor="middle">exited</text>
<path class="a" d="M935 295 H1050"/><text class="s" x="990" y="275" text-anchor="middle">rm</text>
<rect class="box" x="1050" y="250" width="120" height="90"/><text class="t" x="1110" y="305" text-anchor="middle"></text>
<rect class="box data" x="315" y="400" width="250" height="105"/><text class="t" x="440" y="444" text-anchor="middle">VOLUME</text><text class="s" x="440" y="478" text-anchor="middle">zarządza engine</text>
<rect class="box data" x="665" y="400" width="250" height="105"/><text class="t" x="790" y="444" text-anchor="middle">BIND MOUNT</text><text class="s" x="790" y="478" text-anchor="middle">ścieżka hosta</text>
<path class="d" d="M755 180 C700 270 560 315 475 400"/><path class="d" d="M865 180 C925 270 915 330 835 400"/>
<text class="s" x="1010" y="435">Usunięcie kontenera</text><text class="s" x="1010" y="468">nie usuwa danych.</text>
</g>
</svg>