Was der Unterschied zwischen Docker Image & Container?

3 Antworten

Ein Docker Image beinhaltet das Filesystem. Das kannst du dann später quasi als Container ausführen.

Ein Image ist die Grundlage für einen Container und in einen Container kann man (meistens) auch auf das Filesystem schreiben aber sobald man den Container neu aus dem Image erstellt sind alle Änderungen die nicht in volumes hingen weg.

Das Image ist das, wovon der Container generiert wird. Ähnlich wie eine ISO von einem Betriebssystem.

Der Container ist dann das, worin das Image ausgeführt wird.

Ein Image ist also statisch, ein Container ist dynamisch, kann sich also ändern und "leben".


SchwarzerJunge 
Fragesteller
 25.10.2021, 21:49

Image ist ein Buch im Regal und Container ist wenn ich das Buch lese/benütze? Ist diese Analogie korrekt?

0
Lezurex  25.10.2021, 21:50
@SchwarzerJunge

Joa. Der Container wäre dann sowas wie deine Vorstellungskraft, wo du dich in das Buch bzw. die Geschichte hineinversetzt,

0
Lezurex  25.10.2021, 21:54
@SchwarzerJunge

Das wäre eher die Textdatei, die du dann an den Drucker schickst, um das Buch zu drucken. Der Autor bist ja dann immer noch du (oder wer auch immer die Dockerfile geschrieben hat).

0

Zusammenhänge:

  • Docker-Images sind Read-Only-Templates, aus denen Container instanziiert werden.
  • Docker-Images bestehen aus einem oder mehreren Dateisystem-Layern, von denen der jeweils Obere auf dem Unterliegenden aufsetzt. Docker verwendet Union Files Systems (UFS) zum Bauen von Images
  • Jedes Update eines Images fügt einen neuen Layer hinzu, anstatt jedes Mal das gesamte Image neu zu bauen, wobei der oberste Layer (writeable Layer) als Snapshot fungiert.
  • Images können von verschiedene Containern zu gleichen Zeit geteilt werden
  • Daraus ergibt sich die Gleichung: Container = Image + writeable Layer

Quelle: https://www.datacenter-insider.de/images-und-container-in-docker-a-759636/